Kas yra OpenGL® projekcija?

„OpenGL®“ projekcija yra procesas ir vaizdas, atsirandantis trimačius (3D) objektus paverčiant išlygiuotu dvimačiu (2D) vaizdu, kuris gali būti rodomas ekrane. Kompiuterinės grafikos programavimo žodis „projekcija“ reiškia faktą, kad 3D objektai scenoje turi būti matematiškai perkelti arba suprojektuoti ant virtualaus 2D paviršiaus, kad juos būtų galima rodyti plokščiame įrenginio ekrane. Nors visa įvykių seka, kuri paima 3D objektą ir atvaizduoja jį į 2D paviršių, gali būti vadinama projekcija, šis terminas taip pat siauriau taikomas konkrečiai geometrinių transformacijų rinkiniui grafiniame konvejeryje, kuris vyksta kaip žingsnis tarp kitų rinkinių. transformacijos. Programuotojams galimi du specifiniai OpenGL® projekcijos režimų tipai: perspektyvinis ir ortografinis.

Iššūkis kuriant OpenGL® projekciją yra paimti duomenis, apimančius visus tam tikros scenos objektus, ir sureguliuoti juos taip, kad ekrane rodomi objektai atitiktų projekcijos režimą, žiūrėjimo garsumą ir virtualios kameros nustatymus. Žiūrėjimo apimtis yra matoma scenos sritis iš žiūrovo vietos scenoje arba akių padėties. Šeši skaičiai apibrėžia žiūrėjimo garsumą, įskaitant dešinįjį, kairįjį, viršutinį ir apatinį atstumus nuo virtualaus žiūrėjimo kadro centro. Be to, dvi reikšmės, žinomos kaip artimoji ir tolimoji plokštumos, apibrėžia žiūrėjimo tūrio gylį. Šis tūris apibrėžia, kokie objektai bus projektuojami, o visi kiti objektai, esantys už tūrio ribų, bus ignoruojami arba apkarpomi, todėl nematomos dalys nebus įvertinamos.

Pirmasis OpenGL® projekcijos režimas, kurį galima naudoti, yra žinomas kaip ortografinė projekcija. Šiuo režimu objektų koordinatės scenoje nėra koreguojamos atsižvelgiant į jų atstumą nuo žiūrovo ar perspektyvos. Tai reiškia, kad visi objektai yra nupiešti tokio paties dydžio, neatsižvelgiant į atstumą nuo žiūrovo. Šis OpenGL® projekcijos režimas dažniausiai naudojamas 3D modeliavimo programose, inžinerinio projektavimo programose ir programose, kurios naudoja 3D daugiakampius 2D sudėtiniams vaizdams kurti ir nereikalauja tikslios perspektyvos.

Dažniausiai naudojamas OpenGL® projekcijos režimas yra žinomas kaip perspektyvinė projekcija. Perspektyvinės projekcijos režimu objektai scenoje yra keičiami ir išdėstomi pagal atstumą nuo žiūrovo. Tai reiškia, kad tolimesni objektai atrodo mažesni. Tai taip pat reiškia, kad objektai scenoje yra sureguliuoti taip, kad jie lėtai susilietų žiūrėjimo horizonto taške, vadinamame išnykimo tašku. Perspektyvinė projekcija tiksliai modeliuoja, kaip atrodo realus pasaulis, ir naudojama kuriant tikroviškus, o ne techninius atvaizdus.