Programmation graphique TD 6 : Lego Star Wars, le retour du Jedi

Transcription

Programmation graphique TD 6 : Lego Star Wars, le retour du Jedi
Programmation graphique TD 6 :
Lego Star Wars, le retour du Jedi
01 avril 2008
Pour avoir des bonshommes Lego qui ressemblent plus à des bonshommes Lego, on
utilise des cylindres pour la tête et le sabre laser. Les cylindres sont définis comme primitives dans elsa2:/home/enseign/scollang/graphique/td5/ primitives.cpp
et primitives.hpp.
Le nouveau bonhomme est décrit dans lego.cpp et lego.hpp, au même endroit.
1
Coordonnées de textures et normales
1. On veut appliquer la texture du visage sur la tête cylindrique. Calculer et ajouter
les coordonnées de texture.
2. On voit les facettes du faux cylindre sur le manche du sabre laser. Calculer le
vecteur normal en chaque sommet et le donner à OpenGL.
2
Retour aux shaders
On veut faire un rendu de type dessin animé (toon shading). On veut :
– des traits sur les bords des objets,
– des aplats de couleur au lieu de dégradés.
3. Pour les objets aux arêtes vives comme les parallélépipèdes, on rajoute des lignes
à dessiner (en les décalant légèrement devant l’objet).
4. Pour les objets courbes comme les cylindres les bords vont dépendre du point de
vue. Comment les dessiner avec le pixel shader ?
5. Toujours avec le pixel shader, comment faire des aplats de couleur ?
1