Wat is een OpenGL®-camera?

"OpenGL®-camera" is de naam die wordt gegeven aan de virtuele positie van een kijker in een scène met Open Graphics Library® (OpenGL®). Het wordt bepaald door de positie van de kijker in de scène en vervolgens de locatie of richting waarin de kijker kijkt. De positie van de camera in een OpenGL®-scène bepaalt welk gedeelte van een scène naar het weergaveapparaat wordt weergegeven en onder welke hoek. Twee matrices worden gebruikt om een ​​OpenGL®-camera te beschrijven: de modelview-matrix en de projectiematrix, die respectievelijk de positie van de camera en de manier waarop de objecten waarnaar deze kijkt worden weergegeven. Een camera kan binnen een scène worden verplaatst om verschillende gebieden weer te geven of beweging te simuleren, hoewel het in veel gevallen gemakkelijker of efficiënter is om de objecten in een scène te verplaatsen in plaats van de camera.

Bij het leren van OpenGL® hebben sommige programmeurs moeite om de relatief abstracte eigenschappen van een OpenGL®-camera te begrijpen. Dit komt grotendeels omdat sommige transformaties en andere functies op een camera niet op dezelfde manier werken als op een standaard OpenGL®-object. Bovendien vereisen complexe bewerkingen met een OpenGL®-camera meestal vaardigheid met matrixwiskunde en inzicht in de OpenGL®-transformatiepijplijn. Er zijn enkele handige functies bij het ondersteunen van OpenGL®-bibliotheken, hoewel het moeilijk kan zijn om alleen op de ondersteuningstoolkits te vertrouwen in meer interactieve toepassingen.

De positie van een OpenGL®-camera wordt bepaald met behulp van de modelview-matrix. De camera kan overal in een scène worden geplaatst en langs elke as worden vertaald of gedraaid. In veel toepassingen, met name toepassingen die slechts een handvol objecten bevatten, kan het gemakkelijker zijn om inverse transformaties toe te passen op de objecten binnen een scène om de indruk te wekken van beweging. In wezen beweegt de hele scène in dit geval rond een statische camera. Voor grotere scènes kan het eenvoudiger zijn om te gaan met de complexiteit van de pijplijn en matrixwiskunde om de camera vrij te bewegen, waardoor de scène statisch blijft.

De attributen van een OpenGL®-camera worden bestuurd door de projectiematrix. Om de camera-analogie te gebruiken, kan de projectiematrix worden gezien als het type lens dat wordt gebruikt. De projectiematrix wordt vaak aangepast om orthografische projecties te maken, die geen perspectiefaanpassing hebben, en perspectiefprojecties die wel rekening houden met afstand bij het bepalen van de grootte van objecten. Andere effecten, zoals een fish-eye lens, brandpuntsafstand of verschillende beeldverhoudingen, kunnen allemaal worden ingesteld met behulp van de projectiematrix.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?