Maillages
M2 rpi IICAO, UJF-Grenoble
Copiez le programme
main.cpp
ainsi que les fichiers
argumentParser.h
,
matrix.h
,
traqueboule.h
et
Makefile
. Compilez-le et exécutez-le.
La scène représente une fonction de Rosenbrock sur l'intervalle
, maillée en 3D.
Utilisez l'option -h pour de l'aide sur la ligne de
commande. Essayez les différentes options (pour l'instant, seule la
première méthode de tracé est implémentée). Vous pouvez déplacer le
point de vue avec la souris.
Pour sortir, tapez sur la touche Escape.
question 1
Pourquoi les triangles sont-ils visibles ? Que faut-il changer pour obtenir des couleurs plus continues ?
question 2
En regardant par en-dessous, on voit ne voit que les arètes des triangles. Expliquez quelle commande en est responsable.
question 3
Observez l'effet produit en décommentant les lignes concernant le "culling". Que font-elles ?
Nous nous intéressons à la méthode tabuler_la_fonction() qui échantillonne la fonction et affecte des coordonnées et des couleurs.
question 4
Quelle est la dimension des tableaux utilisés pour mémoriser les valeurs ? À quoi sert la méthode ind[int,int,int) ?
La méthode 1 consiste à afficher le même maillage sous forme de Triangle_Strip.
question 5
Complétez la procédure afficher_par_triangle_strips() pour que le tracé s'effectue.
La méthode 2 consiste à utiliser des vertex array pour profiter de l'accès indexé. Elle nécessite de remplir le tableau point_numero puis d'utiliser la méthode glDrawElements
qui trace en lisant dans les tableaux de données. Deux paramètres
manquent. Le premier est le nombre de points de chaque bande. Le
deuxième est l'adresse du début de la liste d'indices appropriée.
question 6
Complétez le programme pour utiliser un vertex array.
Nous désirons comparer approximativement les performances des
différentes méthodes de tracé. Nous y en ajoutons une, les display
list, qui permettent en principe de précalculer un maximum de choses
pour optimiser. Pour évaluer la vitesse d'affichage de la méthode par
triangles, décommentez les lignes qui mesurent cette vitesse dans la
procédure. Augmentez le nombre de polygones si nécessaire.
question 7
Quelle est la méthode la plus rapide sur votre machine ?
Francois Faure
2004-10-11