Passer au contenu

OpenGL est toujours le standard de la programmation graphique

Conçue par Silicon Graphics en 1992, la bibliothèque graphique 2D-3D OpenGL conserve son statut de standard.

Interface de programmation d’applications graphiques 2D-3D, le standard OpenGL a été introduit en 1992 par Silicon Graphics comme successeur d’Iris GL (API graphique d’Irix, l’Unix de SGI fonctionnant sur des machines équipées de circuits graphiques spécialisés). OpenGL a été conçu dès l’origine comme un standard ouvert, totalement indépendant du système d’exploitation et du matériel. Les applications OpenGL sont ainsi facilement adaptables d’une plate-forme à une autre.Il en existe pour la plupart des serveurs Unix et Linux, entre autres la bibliothèque 3D Mesa, un clone d’OpenGL très performant, même s’il n’a pas encore droit à la licence officielle de SGI. Apple a décidé, en janvier 1999, d’utiliser ce standard pour le système du Macintosh, à la place de QuickDraw 3D, à partir de Mac OS 8. C’est aussi l’une des API standards de Windows NT et 2000. Microsoft en propose également une version pour Windows 95. Enfin, une version limitée d’OpenGL destinée à PalmOS est en cours de développement sous le nom de MiniGL : elle offre déjà quelques fonctions de tracé 3D sur Palm III et Palm V.

Direct 3D na pas encore supplanté OpenGL

OpenGL propose toutes les primitives graphiques nécessaires à l’imagerie et à l’animation 3D : des primitives de tracé, comme les points, les lignes, les polygones et les bitmaps ; un système colorimétrique (RGBA ou indexé) ; des matrices de transformation (rotation, translation, etc. ) permettant de disposer des objets dans une scène tridimensionnelle ou de choisir la position et l’angle de prise de vue de la caméra ; un système de placage de textures sur les faces des polygones permettant un rendu réaliste des surfaces ; le calcul de l’éclairage et des ombres (en fonction des sources lumineuses et des propriétés des matériaux) selon le système de Gouraud ; la gestion du lissage (pour faire disparaître les effets d’escalier des lignes obliques en jouant sur la couleur des points) ; le Z-buffer pour la suppression des surfaces cachées ; les effets atmosphériques et les transparences (mélange Alpha).Une bibliothèque additionnelle standard (Glut) offre des primitives de tracés supplémentaires plus complexes (sphères, cônes, cylindres, surfaces quadratiques). Seule restriction, OpenGL ne fournit pas de modèles sophistiqués (voitures, maisons, oiseaux, etc. ). C’est au développeur de les construire à partir des primitives simples.Le système de double buffering, les listes d’affichage et les possibilités de feedback (permettant au programme d’obtenir le résultat de calculs intermédiaires) rendent OpenGL tout à fait adapté à la création d’animations fluides et interactives. Certaines implémentations d’OpenGL fonctionnent en réseau, en exécutant par exemple les calculs complexes de modélisation sur un serveur et en réservant l’affichage au poste client. Pour optimiser la synergie entre partie logicielle et partie matérielle, OpenGL bénéficie d’une architecture interne dite en ” multipipe “. Chaque application OpenGL conserve son contexte graphique complet dans son propre espace mémoire et la bibliothèque graphique protège le matériel d’accès indésirable du logiciel.De nombreuses cartes graphiques accélératrices ou dédiées 3D réalisent directement les primitives OpenGL en utilisant des circuits spécialisés, ce qui améliore les performances. Encore chères il y a deux ans et disponibles uniquement pour des stations Unix de haut de gamme, ces cartes se sont démocratisées avec le succès des jeux 3D et du circuit Voodoo de 3Dfx. On trouve facilement ce type de carte sur PC et, sans la concurrence de Direct3D de Microsoft, OpenGL serait devenu depuis longtemps l’unique standard pour la programmation 3D, tant pour les applications d’ingénierie que pour les jeux. Grâce à Linux (lire encadré), OpenGL suscite aujourd’hui un regain d’intérêt auprès des constructeurs de cartes graphiques face à Direct3D et, malgré les rumeurs, Microsoft dément l’abandon d’OpenGL au profit de son système propriétaire.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Christophe Grosjean