Une classe OpenGL peut soit se référer à une implémentation orientée objet de certaines parties de l'OpenGL interface de programmation abstrait ( API ) ou à une classe qui utilise des appels de fonctions OpenGL au sein de son propre code. La nature de la bibliothèque OpenGL signifie il n'y avait vraiment pas de support pour une version orientée objet de l'API, et la plupart des programmes appelle les fonctions comme ils ont été écrits, en dehors de la classe. Comme les langages orientés objets sont devenus plus fréquents, différentes bibliothèques de classes OpenGL semblent agir comme des objets wrapper pour la bibliothèque de base. Il y a des avantages à utiliser une classe OpenGL qui a été entièrement réalisé au lieu de simplement l'ensemble des fonctions prévues dans la bibliothèque, y compris l'encapsulation et une façon de dériver de nouvelles classes fonctionnelles à travers l'héritage tout en protégeant la mise en œuvre de base. Pas tous les développeurs utilisent une bibliothèque OpenGL classe, car il peut être difficile de passer à s'opposer entièrement paradigmes de programmation orientés.
En programmation orientée objet, une classe est une collection de données, variables et fonctions, appelées méthodes qui modifient les informations qu'il contient. Les origines de OpenGL comme une bibliothèque de fonctions pour le langage de programmation C, ce qui n'était pas un langage orienté objet, signifie que certaines des méthodes et pratiques de programmation qui se sont développées n'étaient pas bien adapté à la programmation orientée objet. Lorsque certains systèmes d'exploitation et autres dispositifs ont commencé à s'appuyer davantage sur les langages orientés objet, plusieurs OpenGL bibliothèques de classes est entré en existence.
Une partie de l'OpenGL bibliothèques de classes simplement encapsulé les fonctions de base d'OpenGL . Cela a fourni un cadre sûr et compatible pour la programmation. Bien que ce type de classe est nécessaire pour certaines langues, il reste nécessaire soutien des classes pour être transformé en une application fonctionnelle. Bibliothèques véritablement organisés en fait divisé les fonctions OpenGL en une série de cours, chacun gérant un élément différent de la bibliothèque, tels que le rendu.
Un certain nombre d'OpenGL bibliothèques de classes a commencé à s'étendre sur le moteur de base OpenGL et a commencé à inclure plus de fonctionnalités. Cela inclut essentiellement une classe spéciale pour la manipulation des objets dans une scène, appelé graphe de scène. Ces classes ont agi comme des wrappers pour les bibliothèques de base tout en offrant une structure logique qui pourrait être construit sur de faire un programme qui a fait plus que rendre une scène et la sortie sans avoir à inventer un nouveau cadre OpenGL à chaque fois.
Presque toutes les bibliothèques OpenGL , y compris les bibliothèques d'utilité, a été traduit d'une manière ou d'une autre dans une forme orientée objet. Cela a, dans certains cas, il est plus facile pour les développeurs de garder OpenGL mis à jour sur les différents dispositifs qui existent en formant un plan essentiellement uniforme pour savoir comment mettre en œuvre OpenGL dans un environnement orienté objet. Avec l'ajout d'outils de développement orientés objet, il a également permis de faire glisser une classe OpenGL dans un programme qui prend en charge le développement visuel, simplifiant certains des aspects les plus complexes.