Académique Documents
Professionnel Documents
Culture Documents
Avertissement
OpenGL continue d'évoluer certaines
informations dans les slides sont peut-être
obsolètes. Vous verrez bien...
Références
Quelques livres (voir aussi http://www.opengl.org/)
‣ “le rouge” : OpenGL Programming Guide
‣ D. Shreiner, E. Angel & V. Shreiner. An interactive introduction to OpenGL programming. Cours donné à la
conférence ACM SIGGRAPH 2001. http://www.opengl.org/developers/code/s2001/
Qu’est ce qu’OpenGL ?
Une interface de programmation (API) graphique
‣ indépendante du langage de programmation
‣ indépendante du système d’exploitation
‣ indépendante du système de fenêtrage
Caractéristiques
‣ simplicité
‣ performance et qualité du rendu
Implémentation
‣ logicielle (ex : Mesa3D qui contient une implémentation générique d'OpenGL)
‣ matérielle (ex : cartes NVIDIA ou ATI)
‣ hybride…
Que sait faire OpenGL
Géométrie : Définition d'objets (primitives) et positionnement spatial
avec les transformations. Ces primitives sont définies par des ensembles
de vertex et rendues dans un framebuffer.
Rendu : Le rendu des primitives dépend de nombreuses variables
d’état ; Couleurs explicites, matériaux/lumière/texture. OpenGL est une
machine à états.
Point de vue : Volume de projection (perspective...).
Rasterization : Transformation de la scène en pixels à l'écran.
Remarque : OpenGL ne sait pas ce que c’est qu’une souris, un clavier, une
fenêtre ou même un écran…
Que sait faire OpenGL
OpenGL ne sait pas ce que c’est qu’une souris, un clavier, une fenêtre ou
même un écran…
Pour cela on utilisera l'API GLUT (OpenGL Utility Toolkit) : accès au système de
fenêtrage, au clavier, à la souris indépendamment de la plateforme.
void glutSwapBufferFunc( );
Initialisation
void glutInit(int* argc, char** argv) ;
void glutMainLoop( );