Return to M1-MAI Synthèse d’images

Introduction à OpenGL et glut

Prise en main et compréhension

Récupérez ogl2d.c et créez un projet C. Compilez et exécutez-le. Pour sortir, tapez sur la touche Escape.

La scène représente une fonction de Rosenbrock sur l’intervalle [−1; 1] × [−1; 1], ainsi que les axes x et y, et une tache de couleur. Déplacez la tache au moyen des touches g,t,f,h (la touche f ne fonctionne pas correctement, c’est normal)

question 1 Pour chaque procédure du programme, expliquez brièvement quand elle est exécutée et à quoi elle sert.

Interaction

question 2 Pourquoi la touche f ne fonctionne-t-elle pas correctement ? Résolvez le problème.

Double buffer

L’image saute quand on déplace la tache. Résolvez le problème en remplaçant GLUT_SINGLE par GLUT_DOUBLE et glFlush() par glutSwapBuffers().

question 3 Pourquoi le double buffer donne-t-il une meilleure animation? Quelle est la contrepartie ?

Test de profondeur

question 4 Que se passe-t-il quand on commente la ligne glEnable( GL DEPTH TEST ) ; ? Pourquoi ?

question 5 Dans quel ordre doit-on alors tracer les eléments de la scène pour qu’ils apparaissent correctement ? Pourquoi ?

Test d’opacité

question 6 Que se passe-t-il quand on commente la ligne glEnable( GL ALPHA TEST ) ; ? Pourquoi ?

Pour finir

question 7 Quelles couches de frame buffer sont utilisées dans ce programme?