OpenGL

OpenGL

Développeur Silicon Graphics (SGI)
Dernière version 4.5 () Voir et modifier les données sur Wikidata
Écrit en C Voir et modifier les données sur Wikidata
Environnements Multiplate-forme
Type API
Site web OpenGL.org
Un traitement de pipeline 3D (Graphics Pipeline Process).

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

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

OpenGL 1.5

Le est annoncé OpenGL 1.5. Au même moment, ARB annonce les spécifications d'une première ébauche de l'OpenGL Shading Language ainsi que les trois extensions ARB_shader_objects, ARB_vertex_shader et ARB_fragment_shader.

OpenGL 2.0

Le est annoncé OpengGL 2.0. l' OpenGL Shading Language (GLSL, également surnommé GLslang) à la syntaxe proche du langage C y est intégré dans une version définitive.

OpenGL ES

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

OpenGL 3.0

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.

OpenGL 4.0

Le , OpenGL 4.0 est annoncé, il a pour but d'exploiter pleinement le matériel compatible avec DirectX 11.

Au même moment OpenGL 3.3 est également annoncé.

Vulkan

Au début annoncé sous l’appellation OpenGL Next, Vulkan revoit d'importants concept d'OpenGL afin de s'adapter aux 25 ans d'évolution des processeurs graphiques 3D depuis la première version. La compatibilité avec les anciennes versions n'est plus assurée.

Les principaux changements les plus notables sont :

  • OpenGL et OpenGL ES sont unifiés ;
  • Les pilotes sont simplifiés, le processeur contrôle lui même directement le GPU et la mémoire utilisée par celui-ci.
Other Languages
български: OpenGL
বাংলা: ওপেনজিএল
bosanski: OpenGL
català: OpenGL
čeština: OpenGL
dansk: OpenGL
Deutsch: OpenGL
Ελληνικά: OpenGL
English: OpenGL
español: OpenGL
eesti: OpenGL
suomi: OpenGL
galego: OpenGL
עברית: OpenGL
हिन्दी: ओपन जीएल
magyar: OpenGL
Bahasa Indonesia: OpenGL
italiano: OpenGL
日本語: OpenGL
ქართული: OpenGL
қазақша: OpenGL
한국어: OpenGL
latviešu: OpenGL
македонски: Open GL
മലയാളം: ഓപ്പൺജി‌എൽ
मराठी: ओपनजीएल
Bahasa Melayu: OpenGL
Nederlands: OpenGL
norsk bokmål: OpenGL
polski: OpenGL
português: OpenGL
română: OpenGL
русский: OpenGL
srpskohrvatski / српскохрватски: OpenGL
Simple English: OpenGL
slovenčina: OpenGL
slovenščina: OpenGL
српски / srpski: OpenGL
svenska: OpenGL
Türkçe: OpenGL
українська: OpenGL
Tiếng Việt: OpenGL
中文: OpenGL