TD3

Transcription

TD3
Programmation graphique TD 4 :
Lego Star Wars
4 mars 2008
1
Un peu d’animation
Le but de cette partie est d’animer un bonhomme Lego.
1. Comme d’habitude, le squelette est à récupérer par :
scp -r elsa2:/home/enseign/scollang/graphique/td3 graphique/
Les pièces de Lego sont représentées par des objets C++ : Bras, Jambe, Tete.
L’objet Bonhomme est composé du tronc auquel on peut ajouter les éléments susmentionnés. Les pièces forment ensuite une hiérarchie : le bras peut avoir une main, la
main peut tenir un accessoire (comme un sabre laser).
Les points de jonctions sont aussi des points d’articulation : la classe Bonhomme
contient des champs (angle bras gauche, angle pied droit, ...) donnant l’angle associé à chaque articulation.
Le code dessinant les pièces de Lego est déjà écrit. Par contre, il reste à relier les
pièces entre elles. Pour cela, on va utiliser les transformations usuelles (glTranslate,
glRotate), mais aussi les opérations de sauvegarde et restauration de la matrice :
glPushMatrix et glPopMatrix.
2. Compléter la fonction Dessine de la classe Bonhomme pour dessiner à la bonne
place les bras, jambes et la tête du personnage.
3. Les polygones qui apparaissent devant sont les derniers dessinés. Ce n’est pas ce
qu’on veut. Quelles-sont les trois modifications nécessaires pour activer le tampon de
profondeur ?
4. On veut pouvoir contrôler les mouvements du personnage avec les touches du clavier.
5. Si vous avez le temps, ajouter Anakin Skywalker en face d’Obi-Wan Kenobi.
Dark Vador ressort mal sur fond noir. Changer la couleur de fond pour du blanc avec
glClearColor.
2 Éclairage
Sur Tatooine, il y a deux soleils nommés Tatoo I et Tatoo II. On considère qu’ils
sont à une distance infinie dans les directions respectives (0.2, 1, 0.2) et (−0.3, 1, 0.1)
et qu’ils émettent chacun une lumière jaune.
6. Activer l’éclairement et ajouter les soleils. Que faut-il rajouter aux pièces de Lego
pour que ça marche ?
1
7. Le sabre laser d’Obi-Wan Kenobi émet une lumière bleue, et la lumière reçue par
un objet varie avec l’inverse du carré de la distance par rapport au sabre (atténuation
quadratique). On suppose la source de lumière située au milieu du sabre. Pour Dark
Vador, c’est pareil, mais en rouge.
2