Hvad er en OpenGL®-projektion?
En OpenGL®-projektion er processen og billedet, der er resultatet af oversættelsen af tredimensionelle (3D) -objekter til et justeret to-dimensionelt (2D) -billede, der kan vises på en skærm. Ordet "projektion" i programmering af computergrafik henviser til det faktum, at 3D-objekter i en scene skal matematisk flyttes eller projiceres på en virtuel 2D-overflade, så det kan vises på en flad skærm på en enhed. Selvom hele sekvensen af begivenheder, der tager et 3D-objekt og gengiver den til en 2D-overflade, kan kaldes projektion, anvendes udtrykket også mere snævert på det specifikke sæt af geometriske transformationer i den grafiske pipeline, der opstår som et trin mellem andre sæt af transformationer. De to specifikke typer OpenGL®-projiceringstilstande, der er tilgængelige for programmerere, er perspektiv og ortografisk.
Udfordringen med at oprette en OpenGL®-projektion er at tage de data, der indeholder alle objekter i en given scene, og justere dem, så objekterne, når de vises på en skærm, er i overensstemmelse med projektionsindstillingen, visningsvolumen og virtuelle kameraindstillinger. Synsvolumen er det synlige område af en scene fra placeringen af seeren inden for scenen eller øjenpositionen. Seks numre definerer visningsvolumen, inklusive højre, venstre, øverste og nederste afstand fra et virtuelt centrum af visningsrammen. Derudover definerer to værdier, der kaldes de tætte og fjerne planer dybden af visningsvolumen. Denne lydstyrke definerer, hvilke objekter der skal projiceres, mens alle andre objekter uden for lydstyrken ignoreres eller klippes, så de ikke-synlige dele ikke evalueres.
Den første tilstand af OpenGL®-projektion, der kan anvendes, kaldes ortografisk projektion. I denne tilstand justeres koordinaterne for objekterne i en scene ikke for deres afstand fra seeren eller perspektivet. Dette betyder, at alle objekter tegnes i samme størrelse, uanset afstanden fra seeren. Denne OpenGL®-projiceringstilstand bruges ofte i 3D-modelleringsprogrammer, ingeniørdesignprogrammer og applikationer, der bruger 3D-polygoner til at skabe 2D-sammensatte billeder og ikke kræver nøjagtigt perspektiv.
Den mere almindeligt anvendte OpenGL®-projiceringstilstand kaldes perspektivprojektion. I perspektivprojektionstilstand skaleres objekterne i en scene og placeres i henhold til deres afstand fra seeren. Dette betyder, at objekter, der er fjernere, forekommer mindre. Det betyder også, at objekter i scenen justeres, så de langsomt konvergerer på et punkt i betragtningshorisonten, der kaldes forsvinden. Perspektivprojektion modellerer tæt, hvordan den virkelige verden ser ud og bruges til at skabe realistiske gengivelser i modsætning til tekniske.