Wat is een OpenGL®-klasse?

Een OpenGL®-klasse kan verwijzen naar een objectgeoriënteerde implementatie van delen van de OpenGL® abstracte programmeerinterface (API), of naar een klasse die OpenGL®-functie-aanroepen binnen zijn eigen code gebruikt. De aard van de OpenGL®-bibliotheek betekent dat er echt geen ondersteuning was voor een objectgeoriënteerde versie van de API, en de meeste programma's noemden de functies zoals ze werden geschreven, buiten een klasse. Naarmate objectgeoriënteerde talen steeds gangbaarder werden, leken verschillende bibliotheken van de OpenGL®-klasse te fungeren als wikkelobjecten voor de kernbibliotheek. Er zijn voordelen verbonden aan het gebruik van een OpenGL®-klasse die volledig is gerealiseerd in plaats van alleen de verzameling functies in de bibliotheek, inclusief inkapseling en een manier om nieuwe functionele klassen af ​​te leiden door overerving, terwijl de basisimplementatie wordt beschermd. Niet alle ontwikkelaars gebruiken een bibliotheek van de OpenGL®-klasse, omdat het verwarrend kan zijn om over te schakelen naar volledig objectgeoriënteerde programmeerparadigma's.

In objectgeoriënteerd programmeren is een klasse een verzameling gegevens, variabelen en functies, methoden genoemd, die de informatie die het bevat wijzigen. De oorsprong van OpenGL® als een bibliotheek van functies voor de C-programmeertaal, die geen objectgeoriënteerde taal was, betekent dat sommige van de ontwikkelde methoden en programmeermethoden niet goed geschikt waren voor objectgeoriënteerd programmeren. Toen sommige besturingssystemen en andere apparaten meer op objectgeoriënteerde talen begonnen te vertrouwen, ontstonden verschillende bibliotheken van de OpenGL®-klasse.

Sommige bibliotheken van de OpenGL®-klasse hebben eenvoudigweg de basis OpenGL®-functies ingekapseld. Dit bood een veilig en compatibel programmeerkader. Hoewel dit type klasse voor sommige talen noodzakelijk was, moesten er nog steeds ondersteunende klassen worden omgezet in een functionele toepassing. Werkelijk georganiseerde bibliotheken verdeelden de OpenGL®-functies in feite in een reeks klassen, waarbij elke bibliotheek een ander element van de bibliotheek beheerde, zoals rendering.

Een aantal OpenGL®-klassebibliotheken begon uit te breiden op de basis OpenGL®-engine en begon meer functionaliteit op te nemen. Dit omvatte voornamelijk een speciale klasse voor het verwerken van de objecten in een scène, een scènegrafiek genoemd. Deze klassen fungeerden als wrappers voor de kernbibliotheken en vormden een logische structuur waarop kon worden gebouwd om een ​​programma te maken dat meer deed dan een scène weergeven en afsluiten zonder telkens een nieuw OpenGL®-framework te moeten uitvinden.

Bijna elke OpenGL®-bibliotheek, inclusief hulpprogramma-bibliotheken, is op een of andere manier vertaald in een objectgeoriënteerde vorm. Dit heeft het in sommige gevallen gemakkelijker gemaakt voor ontwikkelaars om OpenGL® bijgewerkt te houden op de verschillende apparaten door een grotendeels uniforme blauwdruk te vormen voor het implementeren van OpenGL® in een objectgeoriënteerde omgeving. Met de toevoeging van objectgeoriënteerde ontwikkelingstools heeft het ook het mogelijk gemaakt om een ​​OpenGL®-klasse te slepen en neer te zetten in een programma dat visuele ontwikkeling ondersteunt, wat enkele van de meer gecompliceerde aspecten vereenvoudigt.

ANDERE TALEN

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

Hoe kunnen we helpen? Hoe kunnen we helpen?