Wat is een OpenGL® -klasse?
Een OpenGL®-klasse kan verwijzen naar een objectgeoriënteerde implementatie van delen van de OpenGL® Abstract Programming Interface (API), of naar een klasse die OpenGL®-functieaanroepen gebruikt in zijn eigen code. 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 die de functies werden genoemd zoals ze werden geschreven, buiten een klasse. Naarmate objectgeoriënteerde talen vaker voorkomen, leken verschillende OpenGL® -klassenbibliotheken te fungeren als wrapper -objecten voor de kernbibliotheek. Het gebruik van een OpenGL® -klasse is voordelen die volledig is gerealiseerd in plaats van alleen het verzamelen van functies in de bibliotheek, inclusief inkapseling en een manier om nieuwe functionele klassen af te leiden door overerving en tegelijkertijd de basisimplementatie te beschermen. Niet alle ontwikkelaars gebruiken een OpenGL® -klassenbibliotheek, omdat deze verwarrend kan zijn om over te schakelen naar volledig objectgeoriënteerde programmeerparadigma's.
in objectgeoriënteerde proGramming, een klasse is een verzameling gegevens, variabelen en functies, methoden genoemd, die de informatie die het bevat wijzigen. De oorsprong van OpenGL® als een bibliotheek met functies voor de C -programmeertaal, die geen objectgeoriënteerde taal was, betekent dat sommige van de methodologieën en programmeerpraktijken die zich ontwikkelden niet goed geschikt waren voor objectgeoriënteerde programmering. Toen sommige besturingssystemen en andere apparaten meer begonnen te vertrouwen op objectgeoriënteerde talen, ontstonden verschillende OpenGL® -klassenbibliotheken.
Sommige OpenGL® -klasse -bibliotheken hebben eenvoudig de basis OpenGL® -functies ingekapseld. Dit bood een veilig en compatibel kader voor programmeren. Hoewel dit type klasse nodig was voor sommige talen, vereiste het nog steeds ondersteuning van klassen om tot een functionele toepassing te worden gemaakt. Echt georganiseerde bibliotheken verdeelden de OpenGL® -functies daadwerkelijk in eenSerie klassen, waarbij elk een ander element van de bibliotheek beheert, zoals rendering.
Een aantal OpenGL® -klassenbibliotheken begonnen uit te breiden op de Basic OpenGL® -motor en begon meer functionaliteit op te nemen. Dit bevatte voornamelijk een speciale klasse voor het verwerken van de objecten in een scène, een scènegrafiek genaamd. Deze klassen fungeerden als wrappers voor de kernbibliotheken, terwijl ze een logische structuur bieden waaraan kan worden gebouwd om een programma te maken dat meer dan een scène maakte en uitgaat zonder een nieuw OpenGL® -framework elke keer te hoeven uitvinden.
Bijna elke OpenGL® -bibliotheek, inclusief hulpprogramma's, is op de een of andere manier vertaald in een objectgeoriënteerde vorm. Dit heeft in sommige gevallen het voor ontwikkelaars gemakkelijker gemaakt om OpenGL® op de hoogte te houden van de verschillende apparaten die bestaan door een meestal uniforme blauwdruk te vormen voor het implementeren van OpenGL® in een objectgeoriënteerde omgeving. Met de toevoeging van objectgeoriënteerde ontwikkelingstools, iT heeft het ook mogelijk gemaakt om een OpenGL® -klasse te slepen en te laten vallen naar een programma dat de visuele ontwikkeling ondersteunt, waardoor enkele van de meer gecompliceerde aspecten worden vereenvoudigd.