Return to M1-MAI Synthèse d’images

TP lumière

TP Lumière

 

Récupérez le projet IlluminationRosen . Exécutez-le. La scène représente un maillage polygonal de la fonction de Rosenbrock sur l’intervalle  (-1,1)x(-1,1) .

 

 

question 1   Où dans le programme les normales sont-elles calculées ?

 

 

question 2   En décommentant la ligne glEnable(GL_NORMALIZE) le résultat est beaucoup plus intéressant. Pourquoi ?

 

 

question 3   En commentant les valeurs intitiales, modifiez les diverses couleurs pour obtenir différents effets (lumière émissive, ambiante, réflection diffuse et spéculaire, largeur des reflets…). Pas de compte-rendu pour cette question.

Il y a trois sources de lumière dans la scène:

  • un éclairage ambiant, très faible
  • un éclairage provenant de la caméra, qu’on peut (des)activer en appuyant sur ‘0’, initialement allumé
  • un éclairage provenant d’une source qu’on peut faire tourner autour de l’objet au moyen des flèches du clavier, et (des)activer au moyen de la touche ‘1’, initialement éteint

 

 

question 4   Identifiez dans le programme où ces différentes sources sont définies et utilisées. Vous pouvez utiliser les numéros de lignes du programme original.

 

 

question 5   On visualise mal l’emplacement de la source mobile. Faites-la apparaître sous forme d’un cube blanc en fil de fer (glutWireCube(0.1)).

 

 

question 6   Le cube n’est pas vraiment blanc, car on est en mode GL_LIGHTING et il subit donc l’éclairage. À l’aide des instructions glPushAttrib(GL_LIGHTING_BIT), glDisable( GL_LIGHTING ) et glPopAttrib(), désactivez temporairement l’éclairage au moment d’afficher le cube.

 

 

question 7   Les reflets causés par la lumière mobile sont jaunâtres. Que faire pour en obtenir de franchements verts , tout en gardant la surface rouge hors des reflets?