Programmation graphique TD 5 : Lego Star Wars, l`Empire contre

Transcription

Programmation graphique TD 5 : Lego Star Wars, l`Empire contre
Programmation graphique TD 5 :
Lego Star Wars, l’Empire contre-attaque
11 mars 2008
On continue le TD précédent. Vous allez avoir uniquement besoin des fichiers
supplémentaires elsa2:/home/enseign/scollang/graphique/td4/face.c
et vador.c.
1
Textures
L’utilisation de textures en OpenGL se fait en plusieurs étapes.
1. Récupération d’un (ou plusieurs) identifiant(s) de texture avec glGenTextures.
L’identifiant 0 est réservé pour dire « pas de texture ».
2. Création de la texture avec glBindTexture.
3. Sélection des paramètres de la texture avec glTexParameter.
4. Sélection de l’image bitmap associée avec glTexImage2D.
5. Activation du texturage avec glEnable.
6. Au moment de dessiner, sélection de la texture avec glBindTexture (encore).
7. Pour chaque sommet, définition des coordonnées de texture avec glTexCoord.
1. On veut dessiner le visage d’Obi-Wan Kenobi. Où va-t-on placer le code pour
chacun des points ci-dessus ?
(Attention, les pièces d’Obi-Wan (dont sa tête) déclarées en global sont construites
au moment de l’initialisation du programme, donc avant l’initialisation d’OpenGL. On
ne peut donc pas mettre d’appels OpenGL dans le constructeur, et il faudra appeler une
fonction membre Init de Tete à la fin d’InitGL.)
2. Écrire le code. Pour charger l’image, faire simplement un #include de face.c
et accèder aux champs de bonhomme face.
3. Les modes de filtrage par défaut nécessitent des mipmaps, il faut donc choisir explicitement un autre mode (glTexParameteri avec GL TEXTURE MIN FILTER
et GL TEXTURE MAG FILTER). Essayer avec GL NEAREST et GL LINEAR.
4. Générer une hiérarchie de mipmaps avec gluBuild2DMipmaps. Essayer les
autres modes de filtrage.
5. Même chose pour Dark Vador.
1

Documents pareils