Vad är en OpenGL®-projektion?
En OpenGL®-projektion är processen och bilden som är resultatet av översättningen av tredimensionella (3D) -objekt till en inriktad tvådimensionell (2D) bild som kan visas på en skärm. Ordet "projektion" i datorgrafikprogrammering hänvisar till det faktum att 3D-objekt inom en scen måste matematiskt flyttas eller projiceras på en virtuell 2D-yta så att de kan visas på en platt skärm på en enhet. Även om hela händelseförloppet som tar ett 3D-objekt och gör det till en 2D-yta kan kallas projektion, används termen också snävare till den specifika uppsättningen geometriska transformationer i grafikrörledningen som inträffar som ett steg mellan andra uppsättningar av transformationer. De två specifika typerna av OpenGL®-projektionslägen som är tillgängliga för programmerare är perspektiv och ortografiska.
Utmaningen med att skapa en OpenGL®-projektion är att ta data som innehåller alla objekt i en given scen och justera dem så att, när de visas på en skärm, föremålen överensstämmer med projektionsläget, visningsvolymen och virtuella kamerainställningar. Visningsvolymen är det synliga området i en scen från tittarens plats i scenen eller ögonpositionen. Sex siffror definierar visningsvolymen, inklusive höger, vänster, topp och botten avstånd från ett virtuellt centrum av visningsramen. Dessutom definierar två värden kända som nära och fjärrplan djupet för visningsvolymen. Denna volym definierar vilka objekt som ska projiceras, medan alla andra objekt utanför volymen ignoreras eller klipps så att de icke synliga delarna inte utvärderas.
Det första läget för OpenGL®-projektion som kan användas kallas ortografisk projektion. I detta läge justeras inte koordinaterna för objekten i en scen för deras avstånd från tittaren eller perspektivet. Det betyder att alla objekt ritas i samma storlek oavsett avstånd från tittaren. Detta OpenGL®-projektionsläge används ofta i 3D-modelleringsprogram, konstruktionsprogram och applikationer som använder 3D-polygoner för att skapa 2D-kompositbilder och kräver inte exakt perspektiv.
Det mer vanligt använda OpenGL®-projektionsläget kallas perspektivprojektion. I perspektivprojektionsläge skalas objekten i en scen och placeras beroende på deras avstånd från betraktaren. Detta betyder att objekt som är längre bort verkar mindre. Det innebär också att objekt i scenen justeras så att de sakta konvergerar vid en punkt i visningshorisonten känd som försvinnande punkt. Perspektivprojektion modellerar noggrant hur den verkliga världen framträder och används för att skapa realistiska återgivningar i motsats till tekniska.