OpenGL

Infos
OpenGL (Open Graphics Library) est une spécification qui définit une API multi plate-forme pour la conception d'applications générant des images 3D (mais également 2D). L'interface regroupe environ 250 fonctions différentes qui peuvent être utilisées pour afficher des scènes tridimensionnelles complexes à partir de simples primitives. Du fait de son ouverture, de sa souplesse d'utilisation et de sa disponibilité sur
OpenGL

OpenGL (Open Graphics Library) est une spécification qui définit une API multi plate-forme pour la conception d'applications générant des images 3D (mais également 2D). L'interface regroupe environ 250 fonctions différentes qui peuvent être utilisées pour afficher des scènes tridimensionnelles complexes à partir de simples primitives. Du fait de son ouverture, de sa souplesse d'utilisation et de sa disponibilité sur toutes les plate-formes, elle est utilisée par la majorité des applications scientifiques, industrielles ou artistiques 3D et certaines applications 2D vectorielles. Cette bibliothèque est également populaire dans l'industrie du jeu vidéo où elle est en rivalité avec Direct3D (sous Microsoft Windows). Une version nommée OpenGL ES a été conçue spécifiquement pour les applications embarquées (téléphones portables, agenda de poche...).

Histoire

Les spécifications et développements de base ont été réalisés par une équipe de SGI, après avoir travaillé sur une première version d'un projet similaire à l'INRIA. Dans cette équipe se trouvait notamment le très célèbre Bui Tuong Phong créateur de l'algorithme d'interpolation pour le lissage d'ombres. Le projet Fahrenheit, initiative de Microsoft et de SGI, tenta d'unifier les interfaces OpenGL et Direct3D. Celui-ci apporta au début l'espoir de mettre de l'ordre dans le monde des APIs 3D, mais pour des contraintes financières de la part de SGI, le projet dut être abandonné. La spécification OpenGL est actuellement surveillée par l'OpenGL Architecture Review Board (ARB), formé en 1992. L'ARB se compose d'entreprises ayant un profond intérêt pour la création d'une API cohérente et largement disponible. Selon le site officiel d'OpenGL, 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, nVidia, SGI et Sun Microsystems font partie des membres votants (juin 2002). Microsoft, l'un des membres fondateurs, s'est retiré en mars 2003. Le lors de la conférence de la Siggraph, l'ARB a annoncé sa décision de transférer le contrôle de la spécification OpenGL au Khronos Group, qui s'occupait déjà de différentes spécifications OpenGL pour les systèmes embarqués et les consoles de jeux vidéo dont OpenGL ES. L'Architecture Review Board a été dissous le , mais pour des raisons historiques, l'acronyme « ARB » a été conservé, Transitions, novembre 2006 .

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.

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 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.

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) Mesa permet en outre l'usage d'OpenGL sur des stations X-window ordinaires. 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.

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.

Utilisations

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

Voir aussi

API

Bibliographie

- Open GL 2.0 : Guide officiel, Jackie Neider, Mason Woo, Tom Davis, Dave Shreiner, Véronique Campillo, 2006, CampusPress, ISBN 978-2744020865.
- OpenGL Programming Guide: The Official Guide To Learning OpenGL, Version 2, Dave Shreiner, Mason Woo, Jackie Neider, 2005, Addison-Wesley, ISBN 978-0321335739.
- OpenGL Reference Manual: The Official Reference Document to Open Gl, Version 1.4, Dave Shreiner, 2004, Addison-Wesley, ISBN 978-0321173836.
- OpenGL Shading Language, Randi J. Rost, 2005, Addison-Wesley, ISBN 978-0321334893.
- OpenGL Superbible, Richard S., Jr. Wright, Benjamin Lipchak, 2004, Sams, ISBN 978-0672326011.
- Beginning Opengl Game Programming, Dave Astle, Kevin Hawkins, 2004, Course Technology, ISBN 1592003699.

Spécifications

-

Notes et références

===
Sujets connexes
ATI   Apple, Inc.   Bibliothèque logicielle   Blender   Bui Tuong Phong   Dell   Direct3D   Google Earth   Hewlett-Packard   Interface de programmation   International Business Machines Corporation   Jeu vidéo   Khronos Group   Linux   Logiciel propriétaire   Mac OS   Mars 2003   Matrox   Mesa 3D   Microsoft   Microsoft Windows   Multiplate-forme   NVIDIA   OpenAL   OpenGL ES   OpenGL extension wrangler library   OpenGL user interface library   OpenGL utility library   OpenGL utility toolkit   Siggraph   Silicon Graphics   Sun Microsystems   Synthèse d'image 3D  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^