Introduction à l’openGL

1.   Qu’est ce que OpenGL ?

            OpenGL est une interface de programmation vers le matériel graphique. Cette interface compte environ 150 commandes qui sont utilisées dans les programmes interactifs en 3D. Etant donné que cette API est à l’origine professionnelle, il y a beaucoup de fonctions qui ne sont toujours pas câblées sur les cartes accélératrices 3D pour le grand public, et qui seront donc émulées en software.

            La première particularité d’OpenGL est que la programmation est indépendante du matériel graphique utilisé, et que son domaine d’utilisation n’est pas confiné aux PC/Windows ou Mac. A l’origine développé par Silicon Graphics, OpenGL est aujourd’hui disponible sur les plates-formes x86 et 68000 entre autres, que ce soit sous Windows, Linux ou Mac. La conséquence immédiate est qu’aucune commande de fenêtrage, ou d’une manière générale toute commande dépendant de l’OS, n’est incluse et que seuls des commandes graphiques de bas niveaux existent (dessiner un point, un segment mais pas de sphère par exemple). Tout objet complexe est composé à partir d’un nombre limité de primitives graphiques.

            Deuxièmement, OpenGL  se base toujours sur d’autres librairies graphiques qui sont en général spécifiques au système d’exploitation ou qui apportent des fonctions complexes par dessus la librairie OpenGL. L’OpenGL Utility Library (GLU) ainsi que l’OpenGL Utility Toolkit (GLUT) en sont des exemples.

            Une autre particularité est que certaines implémentations d’OpenGL sont conçues pour que la station sur laquelle on affiche ne soit pas celle sur laquelle tourne le programme. Cette fonctionnalité n’est utilisé que sur les systèmes basés sur l’X, et ne sera donc pas détaillée ici (en gros, cela est possible car OpenGL utilise une architecture client (un programme) – serveur (la carte vidéo et son driver OpenGL)).

            Silicon Graphics n’a pas implémenté de version pour Linux de OpenGL. Il convient donc d’utiliser Mesa, qui est une librairie compatible OpenGL (attention, la compatibilité n’est ni garantie ni totale, ....).

2.   Les bonnes adresses

       Voici quelques bonnes adresse à visiter pour avoir accès à des informations complémentaires et aux manuels de référence :

·        OpenGL :

      http://www.opengl.org (site officiel)
      http://trant.sgi.com/opengl (exemples, astuces, trucs utiles ...)
      http://reality.sgi.com/opengl (news, documentation, liens)
      http://www.opengl.org/discussion_boards/cgi_directory/Ultimate.cgi (forum)

·        GLUT :

      http://reality.sgi.com/mjk/spec3/spec3.html (description des fonctions)
      http://reality.sgi.com/mjk/glut3/glut3.html (download)

·         Mesa :

      http://www.mesa3d.org  

3.   Tout ce dont vous aurez besoin :

Page précédente Page suivante