OpenGL

OpenGL
Image illustrative de l'article OpenGL

Développeur Silicon Graphics (SGI)
Dernière version 4.3 (6 août 2012) [+/-]
Environnements Multiplate-forme
Type interface de programmation de rendu
Site web OpenGL.org

OpenGL (Open Graphics Library) est un ensemble normalisé de fonctions de calcul d'images 2D ou 3D lancé par Silicon Graphics en 1992[1]. Cette interface de programmation est disponible sur de nombreuses plateformes où elle est utilisée pour des applications qui vont du jeu vidéo jusqu'à la CAO en passant par la modélisation[1].

OpenGL permet à un programme de déclarer la géométrie d'objets sous forme de points, de vecteurs, de polygones, de bitmaps et de textures. OpenGL effectue ensuite des calculs de projection en vue de déterminer l'image à l'écran, en tenant compte de la distance, de l'orientation, des ombres, de la transparence et du cadrage[2],[3].

L'interface regroupe environ 250 fonctions différentes qui peuvent être utilisées pour afficher des scènes tridimensionnelles complexes à partir de simples primitives géométriques. Du fait de son ouverture, de sa souplesse d'utilisation et de sa disponibilité sur toutes les plates-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 utilisée dans l'industrie du jeu vidéo où elle est souvent en rivalité avec la bibliothèque de Microsoft : Direct3D. Une version nommée OpenGL ES a été conçue spécifiquement pour les applications embarquées (téléphones portables, agenda de poche, consoles de jeux...).

Sommaire

Histoire

OpenGL est une évolution d'IrisGL, API 3D développée par Silicon Graphics (SGI). Cette dernière étant difficile à faire évoluer et à étendre, il a été décidé chez Silicon Graphics qu'OpenGL pouvait être assimilé à un sur-ensemble d'IrisGL. Les spécifications et développements de base ont été réalisés par une équipe de Silicon Graphics. Le projet Fahrenheit, initiative de Microsoft et de Silicon Graphics, 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 API 3D, mais pour des contraintes financières de la part de Silicon Graphics, le projet dut être abandonné.

La spécification OpenGL est actuellement surveillée par l'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, AMD/ATI, Apple, Dell, Evans & Sutherland (en), Hewlett-Packard, IBM, Intel, Matrox, Nvidia, SGI et Sun font partie des membres votants (juin 2002). Microsoft, l'un des membres fondateurs, s'est retiré en mars 2003.

Le 31 juillet 2006 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é dissoute le 21 septembre 2006, mais pour des raisons historiques, l'acronyme « ARB » a été conservé[4].

Les spécifications officielles de OpenGL 3.0 ont été présentées le 11 août 2008. À l'origine, OpenGL 3 devait constituer un changement majeur, avec une refonte totale de l'API pour la rendre plus concurrentielle face à Direct3D. Il était notamment question d'abandonner les fonctionnalités obsolètes qui n'étaient, jusque là, conservées que par souci de compatibilité avec les anciennes versions, l'utilisation d'un nouveau modèle objet plus cohérent qui encapsule notamment les états, etc[5]. Cependant, après un an de retard et une absence totale de communication de la part du groupe Khronos, cette refonte totale a été abandonnée au profit d'une mise à jour incrémentale permettant simplement de supporter les dernières technologies graphiques[6]. Cette décision serait due à la volonté de rassurer certains marchés, par exemple en CAO, qui ne souhaitaient pas voir disparaître ces anciennes fonctionnalités[7]. Malgré tout, les fonctions obsolètes seront marquées « deprecated » dans les nouvelles spécifications, et pourraient être supprimées dans les versions futures.

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 qui ne sont pas disponibles dans la bibliothèque OpenGL elle-même :

On notera en particulier, la bibliothèque OpenGL Performer, développée par Silicon Graphics 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 [pas clair];
  • 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.

Intérêt d'OpenGL pour Silicon Graphics

Cette section ne cite pas suffisamment ses sources. Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{refnec}} ou {{refsou}} sur les passages nécessitant une source.

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

Utilisations

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

Voir aussi

Bibliographie

  • Open GL 2.0 : Guide officiel, Jackie Neider, Mason Woo, Tom Davis, Dave Shreiner, Véronique Campillo, 2006, CampusPress (ISBN 978-2-7440-2086-5)
  • (en) OpenGL Programming Guide: The Official Guide To Learning OpenGL, Version 2, Dave Shreiner, Mason Woo, Jackie Neider, 2005, Addison-Wesley (ISBN 978-0-321-33573-9)
  • (en) OpenGL Reference Manual: The Official Reference Document to Open Gl, Version 1.4, Dave Shreiner, 2004, Addison-Wesley (ISBN 978-0-321-17383-6)
  • (en) OpenGL Shading Language, Randi J. Rost, 2005, Addison-Wesley (ISBN 978-0-321-33489-3)
  • OpenGL Superbible, Richard S., Jr. Wright, Benjamin Lipchak, 2004, Sams (ISBN 978-0-672-32601-1)
  • (en) Beginning Opengl Game Programming, Dave Astle, Kevin Hawkins, 2004, Course Technology (ISBN 1-59200-369-9)

Spécifications

Notes et références

  1. a et b (en)Dave Astle et Kevin H. Hawkins,Beginning OpenGL: Game Programming,Cengage Learning - 2004,(ISBN 9781592003693)
  2. (en)Paul Martz,OpenGL Distilled,Addison-Wesley Professional - 2006,(ISBN 9780132701785)
  3. (en)PJ Cabrera, Peter Bakhirev, Ian Marsh, Ben Smith, Eric Wing, Scott Penberthy,Beginning iPhone Games Development,Apress - 2010,(ISBN 9781430226000)
  4. The OpenGL Pipeline Newsletter - Volume 002, Transitions, novembre 2006 (en)
  5. Long Peaks : présentation sur le site d'Icare3D.
  6. http://www.presence-pc.com/tests/Opengl-DirectX-guerre-22813/
  7. (en) http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=243307&#Post243307

Articles connexes

Liens externes

mentions légales Wikipédia
logo wikimediapolitique de confidentialité à propos de Wikipédia avertissements contacts logo wikimedia faire un don

OpenGL . Wikipédia


OpenGL ( Open G raphics L ibrary ) est une spécification qui définit une API multiplate...Une version nommée OpenGL ES a été conçue spécifiquement pour les applications embarquées (téléphones portables...

COMPARAISON DE QUATRE MÉTHODES OPENGL POUR AFFICHER UN OBJET 3D OpenGL,


COMPARAISON DE QUATRE MÉTHODES OPENGL POUR AFFICHER UN OBJET 3D. Information sur la source. Catégorie : Graphique Classé sous : OpenGL , fonctions immédiates , display lists , vertex arrays , VBOs...

Jeuxlinux . Le site des jeux pour linux . Pourquoi devriez-vous utiliser OpenGL


Il y a quelques jours, sur le blog de Wolfire Games, est apparu un intéressant point de vue sur les raisons d'utiliser OpenGL. L'article étant fort intéressant, nous vous l'avons traduit, pour qu'il (.
Plus d'infos Sur le web

  • OpenGL (en | Open G raphics L ibrary) est un ensemble normalisé de fonctions de calcul d'images 2D ou 3D lancé par Silicon Graphics en ...
    11 Kio (1394 mots) - 5 juin 2013 à 04:40

  • OpenGL ES (Open G raphics L ibrary for E mbedded S ystem, parfois abrégé en OGLES ou GLES) est une spécification du Khronos Group qui ...
    8 Kio (1070 mots) - 14 avril 2013 à 06:10

  • implémentation générique d'OpenGL pour réaliser des rendus graphiques tridimensionnels en temps réel , et ce sur de multiples plates-formes . ...
    9 Kio (1238 mots) - 1 juin 2013 à 05:44

  • Java OpenGL (JOGL) est une bibliothèque qui permet d'utiliser OpenGL avec le langage de programmation Java . Elle était développée à ...
    11 Kio (1519 mots) - 19 avril 2013 à 11:50

  • NOTOC_GLU (Open GL U tility Library) est une bibliothèque associée à OpenGL . Elle vient compléter cette dernière en apportant quelques ...
    2 Kio (195 mots) - 8 mai 2013 à 06:10

  • offrant un jeu de routines pour la gestion des fenêtres OpenGL et les interactions avec le système d'exploitation (gestion clavier, souris, etc.) ...
    5 Kio (606 mots) - 12 mars 2013 à 06:53

  • GLM (Open GL M athematics) est une bibliothèque libre utilitaire d'OpenGL apportant au programmeur C++ tout un ensemble de classes et de ...
    2 Kio (192 mots) - 16 mars 2013 à 06:35

  • L OpenGL Architecture Review Board (ARB) est un consortium qui encadre les spécifications d'OpenGL . spécifications d'OpenGL et continue de ...
    1 Kio (189 mots) - 20 avril 2013 à 11:37

  • GLEW (Open GL e xtension w rangler library) est une bibliothèque utilitaire d'OpenGL permettant une gestion simple des extensions OpenGL ...
    1 Kio (141 mots) - 9 avril 2013 à 11:02

  • OpenGL User Interface Library (GLUI) est une bibliothèque en C++ qui se combine avec celle de OpenGL utility toolkit (GLUT) et qui fournit ...
    1 Kio (140 mots) - 12 mars 2013 à 06:56

  • est une couche d'abstraction logicielle du Khronos Group , faisant le lien entre ses API de rendu comme OpenGL ou OpenVG , et le ...
    2 Kio (202 mots) - 12 mai 2013 à 03:51

  • Les concurrents de Direct3D sont les bibliothèques respectant l'OpenGL . Il y a de nombreuses fonctionnalités et problèmes sur lesquels ...
    8 Kio (1129 mots) - 4 avril 2013 à 07:58

  • GLX (Open GL Extension to the X Window System, en français « Extension OpenGL pour le serveur X ») fournit la connexion entre OpenGL et le ...
    2 Kio (344 mots) - 28 avril 2013 à 06:21

  • Xgl est un serveur X libre surcouche de l'OpenGL via glitz , permettant d'utiliser les capacités 3D des cartes graphiques modernes dans ...
    7 Kio (991 mots) - 23 avril 2013 à 10:49

  • Cairo-Dock (ou Glx-Dock, depuis le support d'OpenGL ) est une barre de lancement d'applications animée (ou dock , à la manière de Mac OS X ...
    6 Kio (824 mots) - 26 avril 2013 à 09:50

  • D’autres applications comme Blender ou Google Earth sont un cas à part car ils utilisent la bibliothèque OpenGL destinée à la base à ...
    78 Kio (10400 mots) - 17 juin 2013 à 10:46

  • Anim8or est un freeware basé sur la technique OpenGL pour la synthèse d'image 3D , créé par R. Steven Glanville, ingénieur chez NVidia ...
    9 Kio (1143 mots) - 26 avril 2013 à 06:52

  • Glitz est une bibliothèque graphique 2D permettant l'accélération matérielle via OpenGL , une API pour applications 3D.Glitz est un ...
    2 Kio (216 mots) - 26 avril 2013 à 11:20

  • Il supporte le rendu OpenGL shaders (GLSL ) et exécute le code généré par ActionScript 3.0. Un plugin pour Mozilla est disponible. ...
    1 Kio (98 mots) - 18 mars 2013 à 07:57

  • OpenGL utility toolkit , une bibliothèque utilitaire. Glucose transporter , une protéine transmembranaire faisant entrer le glucose dans les ...
    0 Kio (19 mots) - 12 mars 2013 à 05:07