OpenGL - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Bibliothèques

Plusieurs bibliothèques sont développées à partir d'OpenGL afin d'apporter des fonctionnalités non-disponibles dans la bibliothèque OpenGL elle-même :

  • GLU
  • GLUT
  • GLUI
  • GLEW
  • GLEE
  • GLFW
  • GLM

On notera en particulier, la bibliothèque OpenGL Performer, développée par SGI et disponible pour IRIX, Linux et quelques versions de Windows, qui permet la création d'applications de rendus temps réel.

Extensions

La norme OpenGL permet à différents fabricants d'ajouter de nouvelles fonctionnalités sous forme d'extensions. Une extension est distribuée en 2 parties : un fichier d'en-têtes qui contient les fonctions prototypes de l'extension et les drivers du fabricant. Chacun d'eux possède une abréviation qui est utilisée pour nommer leurs nouvelles fonctions et constantes. Par exemple, l'abréviation de nVidia (« NV ») est utilisée pour définir leur fonction propriétaire « glCombinerParameterfvNV() » et leur constante « GL_NORMAL_MAP_NV ». Il peut arriver que plus d'un fabricant implémente la même fonctionnalité. Dans ce cas, l'abréviation « EXT » est utilisée. Il peut également arriver que l'ARB officialise une extension. Celle-ci devient alors un standard et l'abréviation « ARB » est utilisée. La première extension ARB fut GL_ARB_multitexture.

Intérêt d'OpenGL pour SGI

SGI met à chaque fois dans le domaine public la version N-1 de GL, bibliothèque graphique de GL. Cette approche marketing

  • décourage la concurrence (OpenGL étant gratuit et ouvert, pourquoi développer autre chose ?) ;
  • dissuade la modification d'OpenGL (car tout ajout serait à recommencer dans la version d'OpenGL suivante) ;
  • donne aux stations SGI un avantage concurrentiel substantiel, puisque GL a toujours une longueur d'avance sur OpenGL ;
  • constitue une forme de sponsorage (mécénat) améliorant l'image de la société qui met ses travaux anciens dans le domaine public.

Implémentations

Plusieurs implémentations d'OpenGL (exploitant l'accélération 3D fournie par le matériel) existent pour Windows, de nombreuses stations Unix et Mac OS. Ces implémentations sont généralement fournies par les constructeurs de matériels graphiques et y sont étroitement liées. Il existe une implémentation libre de cette bibliothèque, nommée Mesa, créée en 1993 par Brian Paul et qui utilise la même API, ce qui permet :

  • de se passer de la licence OpenGL dans la plupart des cas ;
  • de faire tourner des applications OpenGL sur des terminaux X qui y sont en principe inaptes (les performances sont alors médiocres, mais cela vaut parfois mieux que pas d'exécution du tout si l'on n'a pas besoin d'utiliser d'animation en temps réel). Ces stations ne disposant pas en général de fonctions 3D, on ne peut toutefois les utiliser que pour des modèles simples comportant peu de polygones.

Utilisations

Certains logiciels utilisent OpenGL pour gérer l'ensemble de leur interface, même 2D, comme Blender, Google Earth, GLtron, ou la version SGI de X11.

Page générée en 0.101 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise