Kokie yra geriausi OpenGL® gylio patarimai?

OpenGL® gylio buferis yra vienas iš labiausiai nesuprastų, sudėtingiausių ir galiausiai naudingiausių įrankių, prieinamų trimatės (3D) grafikos programuotojui. Yra keletas būdų, kaip buferį optimizuoti, kad būtų galima padidinti programos kadrų dažnį, įskaitant tinkamą artimo ir tolimojo iškirpimo plokštumų nustatymą. Kiti patarimai apima buferio tarp atvaizdų išvalymą ir scenų kompozicijų, kurios gali sukelti problemų dėl gylio, nes objektai yra per arti vienas kito, pašalinimą. Kai kuriuos dvimačius (2D) grafikos triukus galima atlikti lengvai ir efektyviai naudojant OpenGL® gylio buferį. Naudojama vaizdo plokštė taip pat kartais gali kelti problemų dėl gylio, todėl teisingas nustatymas gali padėti padidinti greitį ir sumažinti nereikalingų apdorojimo ciklų skaičių.

Viena iš pirmųjų problemų, galinčių turėti įtakos OpenGL® gylio buferio, dar vadinamo Z buferiu po raidės, kuri tradiciškai žymi Dekarto gylio plokštumą, veikimui yra artimo ir tolimojo kirpimo plokštumų išdėstymas. Šios plokštumos apibrėžia ribas, kas turėtų būti ir ko nereikėtų atvaizduoti scenoje, o jų reikšmės nurodo atstumą nuo žiūrovo, kur atitinkamai turėtų prasidėti ir baigtis iškirpimas. Intuityvi mintis būtų pradėti perteikimą toje vietoje, kur yra žiūrovas, nustatant artimą plokštumą iki nulio, tačiau tai nėra teisinga. Tiesą sakant, „OpenGL®“ neleidžia artimos plokštumos nustatyti į nulį. Jei artimosios plokštumos reikšmė yra labai maža, pavyzdžiui, vieneto dalis, atvaizduotojas gali išvis nieko nerodyti arba gali nepavykti tinkamai surūšiuoti gylio buferio.

Taip nutinka todėl, kad kuo arčiau žiūrinčiojo yra objektas, tuo tiksliau OpenGL® apskaičiuoja objekto padėtį. Kai atstumas iki žiūrovo artėja prie nulio, apskaičiuotas tikslumas didėja eksponentiškai. Dėl to sulėtėja atvaizdavimo laikas ir gali atsirasti keistų grafinių artefaktų ir kitų problemų, neskaitant to, kad apskaičiuoto tikslumo lygis retai reikalingas.

Atvaizduojant 2D grafiką, OpenGL® gylio buferis gali padėti palengvinti kai kurias operacijas. Naudojant gylio buferį, norint šiek tiek pakeisti keturkampius, kurie kompozicijoje naudojami kaip plytelės, gali padėti išklotos scenos elementams sklandžiai judėti, nesukeliant keistų efektų vaizde, kurį sukelia du vienas kitą toje pačioje plokštumoje persidengiantys daugiakampiai. Panašiai paruoštus elementus galima paslėpti už regėjimo lauko arba už tolimosios iškirpimo plokštumos, kad juos būtų galima greitai įtraukti į sceną, galbūt net naudojant transformacijas ir pasukimus, kad būtų sukurtas ypatingas išnykimo arba išnykimo efektas.

Galiausiai, nors OpenGL® gylio buferis gali palaikyti skirtingus buferio aparatūros dydžius, geriausia naudoti 16 bitų versiją. Taip yra todėl, kad daugelyje scenų naudojant 32 bitų buferį gali sulėtėti atvaizdavimo laikas. Be to, ne visos vaizdo plokštės palaiko 32 bitų gylio buferius, todėl sumažinus iki mažiausio bendro vardiklio, daugiau žmonių galės paleisti 3D programą taip, kaip ji buvo parašyta.