Wat is een OpenGL®-projectie?
Een OpenGL®-projectie is het proces en de afbeelding die resulteert uit de vertaling van driedimensionale (3D) objecten naar een uitgelijnde tweedimensionale (2D) afbeelding die op een scherm kan worden weergegeven. Het woord "projectie" in computergrafiekprogrammering verwijst naar het feit dat 3D-objecten binnen een scène wiskundig moeten worden verplaatst of geprojecteerd op een virtueel 2D-oppervlak zodat het op een plat beeldscherm op een apparaat kan worden weergegeven. Hoewel de hele reeks gebeurtenissen die een 3D-object nemen en naar een 2D-oppervlak weergeven, projectie kan worden genoemd, wordt de term ook nauwer toegepast op de specifieke set geometrische transformaties in de grafische pijplijn die optreedt als een stap tussen andere sets van transformaties. De twee specifieke soorten OpenGL®-projectiemodi die beschikbaar zijn voor programmeurs zijn perspectief en orthografisch.
De uitdaging van het creëren van een OpenGL®-projectie is om de gegevens te nemen die alle objecten in een bepaalde scène omvatten en deze aan te passen zodat, wanneer ze op een scherm worden weergegeven, de objecten consistent zijn met de projectiemodus, het kijkvolume en de instellingen van de virtuele camera. Het kijkvolume is het zichtbare gebied van een scène vanaf de locatie van de kijker binnen de scène of de oogpositie. Zes cijfers definiëren het kijkvolume, inclusief de afstanden rechts, links, boven en onder vanaf een virtueel midden van het beeld. Bovendien definiëren twee waarden die bekend staan als de nabije en verre vlakken de diepte van het kijkvolume. Dit volume definieert welke objecten worden geprojecteerd, terwijl alle andere objecten buiten het volume worden genegeerd of afgekapt, zodat de niet-zichtbare delen niet worden geëvalueerd.
De eerste modus van OpenGL®-projectie die kan worden gebruikt, staat bekend als orthografische projectie. In deze modus worden de coördinaten van de objecten in een scène niet aangepast aan de afstand tot de kijker of het perspectief. Dit betekent dat alle objecten in dezelfde grootte worden getekend, ongeacht de afstand tot de kijker. Deze OpenGL®-projectiemodus wordt meestal gebruikt in 3D-modelleringsprogramma's, engineering-ontwerpprogramma's en toepassingen die 3D-polygonen gebruiken om samengestelde 2D-beelden te maken en geen nauwkeurig perspectief vereisen.
De meer algemeen gebruikte OpenGL®-projectiemodus staat bekend als perspectiefprojectie. In de perspectiefprojectiemodus worden de objecten in een scène geschaald en gepositioneerd op basis van hun afstand tot de kijker. Dit betekent dat objecten die verder weg liggen, kleiner lijken. Het betekent ook dat objecten in de scène worden aangepast, zodat ze langzaam samenkomen op een punt op de horizon dat bekend staat als het verdwijnpunt. Perspectiefprojectie modelleert nauw hoe de echte wereld eruitziet en wordt gebruikt om realistische weergaven te creëren in tegenstelling tot technische weergaven.