Qu'est-ce qu'une classe OpenGL®?

Une classe OpenGL® peut faire référence à une implémentation orientée objet de parties de l'interface de programmation abstraite OpenGL® (API) ou à une classe qui utilise des appels de fonction OpenGL® dans son propre code. La nature de la bibliothèque OpenGL® signifie qu’il n’ya vraiment pas de support pour une version de l’API orientée objet, et la plupart des programmes appellent les fonctions telles qu’elles ont été écrites, en dehors d’une classe. À mesure que les langages orientés objet se répandaient, différentes bibliothèques de classes OpenGL® semblaient agir en tant qu'objets enveloppants pour la bibliothèque principale. Il existe des avantages à utiliser une classe OpenGL® entièrement réalisée au lieu de simplement la collection de fonctions fournie 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 l'implémentation de base. Tous les développeurs n'utilisent pas une bibliothèque de classes OpenGL®, car il peut être déroutant de basculer vers des paradigmes de programmation entièrement orientés objet.

En programmation orientée objet, une classe est un ensemble de données, variables et fonctions, appelées méthodes, qui modifient les informations qu'elle contient. Les origines d'OpenGL® en tant que bibliothèque de fonctions pour le langage de programmation C, qui n'était pas un langage orienté objet, signifient que certaines des méthodologies et pratiques de programmation développées n'étaient pas bien adaptées à la programmation orientée objet. Lorsque certains systèmes d'exploitation et d'autres périphériques ont commencé à s'appuyer davantage sur les langages orientés objet, plusieurs bibliothèques de classes OpenGL® ont été créées.

Certaines bibliothèques de classes OpenGL® ont simplement encapsulé les fonctions de base OpenGL®. Cela fournissait un cadre sûr et compatible pour la programmation. Bien que ce type de classe soit nécessaire pour certaines langues, il fallait encore que les classes de support soient transformées en une application fonctionnelle. Les bibliothèques réellement organisées ont en fait divisé les fonctions OpenGL® en une série de classes, chacune gérant un élément différent de la bibliothèque, tel que le rendu.

Un certain nombre de bibliothèques de classes OpenGL® ont commencé à se développer sur le moteur OpenGL® de base et ont commencé à inclure davantage de fonctionnalités. Cela comprenait principalement une classe spéciale pour la manipulation des objets dans une scène, appelée graphe de scène. Ces classes agissaient comme des wrappers pour les bibliothèques principales tout en fournissant une structure logique sur laquelle il était possible de construire un programme faisant plus que restituer une scène et quitter sans avoir à inventer un nouveau framework OpenGL® à chaque fois.

Presque toutes les bibliothèques OpenGL®, y compris les bibliothèques d’utilitaires, ont été traduites d’une manière ou d’une autre dans un format orienté objet. Dans certains cas, cela a permis aux développeurs de garder OpenGL® à jour sur les différents périphériques existants en formant un plan directeur généralement uniforme sur la manière de mettre en œuvre OpenGL® dans un environnement orienté objet. Avec l’ajout d’outils de développement orientés objet, il a également été possible de glisser-déposer une classe OpenGL® dans un programme qui prend en charge le développement visuel, en simplifiant certains des aspects les plus compliqués.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?