Kateri so najboljši nasveti za OpenGL® Depth?

Globinski medpomnilnik OpenGL® je eno bolj napačno razumljenih, zapletenih in navsezadnje uporabnih orodij, ki so na voljo tridimenzionalnim (3D) grafičnim programerjem. Medpomnilnik je mogoče optimizirati na več načinov, tako da se lahko poveča hitrost sličic za program, vključno s pravilno nastavitvijo bližnje in daljne ravnine za odrezovanje. Drugi nasveti vključujejo čiščenje medpomnilnika med upodabljanjem in izogibanje kompozicijam prizorov, ki lahko povzročijo težavo z globino, če predmete postavite preblizu drug drugemu. Nekatere dvodimenzionalne (2D) grafične trike je mogoče izvesti enostavno in učinkovito z uporabo globinskega medpomnilnika OpenGL®. Tudi grafična kartica, ki se uporablja, je lahko včasih težava z globino, zato lahko s pravilnimi nastavitvami povečate hitrost in zmanjšate nepotrebne cikle obdelave.

Ena od prvih težav, ki lahko vpliva na delovanje globinskega medpomnilnika OpenGL®, imenovanega tudi pomnilnik Z po črki, ki tradicionalno označuje kartezično globinsko ravnino, je postavitev bližnje in daljne ravnine za izrezovanje. Te ravnine določajo meje tega, kaj naj in ne bi smelo biti upodobljeno v prizoru, njihove vrednosti pa kažejo razdaljo od gledalca, kjer naj bi se izrezek začel oziroma končal. Intuitivna misel bi bila, da začnemo upodabljati na točki, kjer je gledalec, pri čemer bližnjo ravnino nastavimo na nič, vendar to dejansko ni pravilno. Pravzaprav OpenGL® ne dovoljuje nastavitve bližnje ravnine na nič. Če je vrednost bližnje ravnine zelo majhna, na primer delček enote, potem upodabljalnik morda sploh ne bo prikazal ničesar ali pa ne bo pravilno razvrstil globinskega medpomnilnika.

To se zgodi, ker bližje kot je objekt gledalcu, natančneje OpenGL® izračuna položaj predmeta. Ko se razdalja do gledalca približa ničli, se izračunana natančnost eksponentno poveča. To upočasni čas upodabljanja in lahko povzroči nenavadne grafične artefakte in druge težave, poleg dejstva, da je raven izračunane natančnosti le redko potrebna.

Pri upodabljanju 2D grafike lahko globinski medpomnilnik OpenGL® olajša nekatere operacije. Uporaba globinskega medpomnilnika za rahlo odmik štirikotnikov, ki se uporabljajo kot ploščice v kompoziciji, lahko pomaga elementom prizora s ploščicami, da se gladko premikajo, ne da bi na sliki povzročili čudne učinke, ki jih povzročata dva poligona, ki se prekrivata drug drugega v isti ravnini. Podobno lahko pripravljene elemente skrijete izven vidnega polja ali za oddaljeno ravnino izrezovanja, tako da jih je mogoče hitro prinesti na prizorišče, po možnosti celo z uporabo transformacij in rotacije, da se da poseben učinek zmanjševanja ali izstopanja.

Končno, medtem ko lahko globinski medpomnilnik OpenGL® podpira različne velikosti strojne opreme za medpomnilnik, je najbolje uporabiti 16-bitno različico. To je zato, ker lahko v večini prizorov uporaba 32-bitnega medpomnilnika upočasni čas upodabljanja. Prav tako vse grafične kartice ne podpirajo 32-bitnih globinskih medpomnilnikov, zato spust na najnižji skupni imenovalec pomeni, da bo več ljudi lahko izvajalo 3D program, kot je bil napisan.