Wat is een OpenGL® Renderer?
Een OpenGL®-renderer is een softwareapplicatie, bibliotheek of abstracte programmeerinterface (API) die is ontworpen om wiskundige, geometrische en textuurinformatie uit een programma te halen en op een uitvoerapparaat weer te geven. De taak van een OpenGL®-renderer is om de kloof te overbruggen tussen informatie over een driedimensionaal (3D) object dat is opgeslagen als coördinaten, vectoren en andere getallen en het om te zetten in een afbeelding met verlichting, texturen en de juiste kijkhoek. OpenGL® heeft zijn eigen rendering-implementatie, maar dit kan worden opgeheven om bestaande algoritmen te verbeteren of om functies te ondersteunen die anders niet door bepaalde hardwareconfiguraties worden ondersteund. Veel programma's die 3D-afbeeldingen gebruiken, bevatten vaak een optie om het type renderer te kiezen dat wordt gebruikt, afhankelijk van wat door de hardware wordt ondersteund.
Eén gebruik voor een OpenGL®-renderer is om een aangepaste interface te bieden tussen de OpenGL® API en sommige eigen of gespecialiseerde hardware. Dit wordt vaak gezien bij mobiele apparaten of aangepaste schermen die unieke functies ondersteunen, zoals 3D-beeldvorming. Door het weergavegedeelte van een toepassing aan te passen, kunnen de beperkingen of speciale mogelijkheden van de uitvoermedia worden gericht, zodat het programma soepel verloopt en op de gewenste manier wordt weergegeven.
Een andere toepassing voor een OpenGL®-renderer is om functies te stroomlijnen zodat ze sneller of op een andere manier presteren dan de standaard renderer. Dit is te zien bij sommige videogames waarin specifieke functies en functies die zelden worden gebruikt in niet-gamingprogramma's verder moeten worden uitgebreid om hoge framesnelheden en consistente prestaties te bereiken. Een aangepaste renderer kan ook worden gebruikt tijdens de game-ontwikkeling om een foutopsporingsomgeving te bieden wanneer andere renderingmethoden grafische problemen veroorzaken.
Er zijn bepaalde gevallen - zoals in beveiliging, transport of andere ingebedde systemen - waarin software kan worden geschreven met OpenGL® om realtime informatie weer te geven, maar die software wordt uiteindelijk mogelijk niet uitgevoerd op een systeem met een grafische kaart. Een voorbeeld hiervan is een display in een vliegtuig waarin de software wordt ontwikkeld en getest op een desktopcomputersysteem. In dit geval kan een OpenGL®-renderer worden gebruikt om ervoor te zorgen dat, hoewel de software standaardfunctie-oproepen gebruikt, geen van de oproepen kan worden uitgevoerd vanwege het ontbreken van grafische hardware. Op deze manier kunnen standaard programmeerbibliotheken overal worden gebruikt via omgeleide software-emulatie.