next up previous


Illumination


PDF ps.gz

Copiez le programme main.C . Pour le compiler à l'aide du Makefile , il vous faut aussi traqueboule.h et matrix.h . Exécutez-le. La scène représente un maillage polygonal de la fonction de Rosenbrock sur l'intervalle $[-1;1]\times[-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:

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?


next up previous
Francois Faure 2003-02-10