lundi 25 novembre 2013

Qu'est-ce qu'une classe OpenGL ?

Une classe OpenGL peut soit se référer à une mise en œuvre orientée objet de certaines parties de l'OpenGL  interface de programmation abstrait (API), ou à une classe qui utilise OpenGL  appels de fonction au sein de son propre code. La nature de la bibliothèque OpenGL signifie qu'il était vraiment pas de support pour une version orientée objet de l'API, et la plupart des programmes appelle les fonctions comme elles ont été écrites, en dehors d'une classe. Comme les langages orientés objets sont devenus plus répandus, OpenGL  différentes bibliothèques de classes semblent agir comme des objets de 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 un moyen de dériver de nouvelles classes fonctionnelles par héritage, tout en protégeant la mise en œuvre de base. Pas tous les développeurs utilisent une bibliothèque de classes OpenGL , car il peut être source de confusion pour passer à s'opposer, en tout paradigmes de programmation orientés.
 
Dans la programmation orientée objet, une classe est une collection de données, les variables et les fonctions, appelées méthodes qui modifient l'information 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 certaines méthodologies et pratiques de programmation qui se sont développées ne sont pas bien adaptés à la programmation orientée objet. Lorsque certains systèmes d'exploitation et autres appareils 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 tout 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 à faire dans une application fonctionnelle. Bibliothèques véritablement organisés effectivement 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 de bibliothèques de classes OpenGL  a commencé à s'étendre sur le moteur de base de OpenGL  et a commencé à inclure plus de fonctionnalités. Cela comprenait principalement une classe spéciale pour la manipulation des objets dans une scène, appelé un 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  mise à 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 et déposer une classe OpenGL  dans un programme qui prend en charge le développement visuel, la simplification de certaines des aspects les plus complexes.