Textures

DESS IM, UJF-Grenoble, 2003

PDF ps.gz

Copiez le programme tex2d.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]$.

1 Compréhension du programme

question 1   En appuyant sur la touche 'w' vous pouvez basculer entre deux modes d'affichage. Essayez. Expliquez très brièvement comment ceci est programmé.

question 2   Quels sont les tableaux de données utilisés pour définir le maillage ?

2 Texture 2D

question 3   Décommentez la ligne glEnable(GL_TEXTURE_2D);, recompilez et exécutez. Où dans le programme la texture est-elle définie? Quelle est la dimension et la taille du tableau des couleurs de texture ?

question 4   Remplacez GL_REPLACE par GL_MODULATE. Expliquez brièvement la différence, et quelles opérations mathématiques sont impliquées.

question 5   En jouant sur les coordonnées de texture, et sans modifier l'image utilisée (elle reste 2x2), plaquez un échiquier 8x8 cases au lieu de 2x2 en jouant sur les coordonnées de texture. Quelles sont les modifications nécessaires ?

3 Texture 1D

Nous voulons maintenant visualiser les courbes de niveau de la fonction. Nous créons une texture unidimensionnelle noire et blanche, et la coordonnée de texture de chaque sommet dépendra de sa hauteur. Ceci nécessite les modifications suivantes:

question 6   Quelle est la nouvelle dimension du tableau des couleurs de texture ?

question 7   Quelle est la nouvelle taille du tableau des coordonnées de texture ?

question 8   Proposez une expression de la coordonnée de texture de chaque sommet.

question 9   En appliquant $z/10$ (après renormalisation des hauteurs) comme coordonnées de texture, la fonction semble avoir plusieurs minima locaux. Est-ce certain ? Pour en avoir le coeur net, augmentez la résolution du maillage.

4 Maillages et coordonnées de texture

Récupérez et compilez sphere.zip qui essie de texturer une sphère pour représenter la terre. Comprenez et corrigez ce programme.

question 10   Que fallait-il changer ?



Francois Faure 2004-10-19