Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLydie Jolly Modifié depuis plus de 9 années
1
copyright Derivaux Sébastien 1 Présentation de l’article ROAMing Terrain: Real-time Optimally Adapting Meshes 1 Sébastien Derivaux pour le cours de Rendu et Visualisation de Jean-Michel Dischler 1 Mark Duchaineau, Murray Wolinsky, David E. Sigeti Mark C. Miller, Charles Aldrich, Marc B. Mineev-Weinstein
2
copyright Derivaux Sébastien 2 Contexte 1997 Les cartes graphiques sont capables d’afficher des milliers de triangles par image 2 ans avant la sortie des premières cartes TnL Puissance suffisante pour le rendu de terrain il faut néanmoins faire du LOD dépendant de la vue
3
copyright Derivaux Sébastien 3 Arbre binaire de triangles Structure de données du ROAM, triangles isocèles qui se subdivisent en 2 triangles isocèles Le terrain est représenté avec une carte d'élévation Niveau de finesse noté l la figure du haut montre les niveaux de 0 à 4Notations: v 0 v 1 : bas du triangle les autres cotés sont droit et gauche T triangle père de T 0 et T 1
4
copyright Derivaux Sébastien 4 Division/Unification 2 opérations de bases division unification Pour préserver la continuité, on ne peut appliquer ces opérations que sur des diamants On est amené à effectuer des divisions récursives pour ne pas créer de T-vertex Les voisins d’un triangle sont soit de même niveau soit d’un niveau plus grossier pour le coté bas soit d'un niveau plus fin pour les cotés droit et gauche
5
copyright Derivaux Sébastien 5 Double files L'algorithme utilise une file pour l'opération division et une file pour l'opération unification Les files sont ordonnées par priorité pour les opérations division/unification les files sont triées selon l'effet des opérations division/unification sur la qualité du rendu la priorité doit être monotonique; la priorité d'un enfant ne doit être supérieure à celle de son parent On note Q d la file des divisions (triangles) et Q u la file des unifications (diamants) On commence avec la triangulation la plus grossière, on note la triangulation courante T
6
copyright Derivaux Sébastien 6 Algorithme du rendu Mise à jours des priorités dans Q d et Q u Tant que T n'a pas la taille ou la précision voulue ou que la priorité de Q d est supérieure à celle de Q u Si T trop grand ou trop précis on unifie le diamant de la priorité la plus basse dans Q u Sinon on effectue une division récursive sur le triangle avec la plus grande priorité dans Q d On répercute les modifications dans Q d et Q u, création/suppression de nouveaux triangles (Q d ) et de diamants (Q u ) Résultat optimal pour la précision ou la taille désirée Grâce à la cohérence temporelle, le coût n'est que de quelques divisions et unifications
7
copyright Derivaux Sébastien 7 Paramètre de qualité Distortion géométrique à l'écran d'autres métriques sont possibles Calcul de l'erreur au niveau le plus fin e T = | z(v c ) – z T (v c ) | z T (v c ) = (z(v 0 ) + z(v 1 )) / 2 Les autres niveaux s'expriment en fonction du niveau inférieur e T = max{e T0, e T1 } + | z(v c ) – z T (v c ) | Cette heuristique maximise l'erreur Pour un sommet l'erreur est la norme de la projection du segment (x, y, z - e T );(x, y, z + e T )
8
copyright Derivaux Sébastien 8 Optimisations View-Frustrum Culling Bandes de triangles incrémentales en moyenne 4-5 triangles par bandes Recalcul des priorités en différé recalcul uniquement si cela peut impliquer une opération (division/unification) Optimisation progressive à tout moment le résultat est le meilleur qu'on puisse obtenir avec ce laps de temps
9
copyright Derivaux Sébastien 9 Résultats Sur Silicon Graphics Indigo2 5 ms pour le view frustrum 5 ms pour le recalcul des priorités 5 ms pour les opérations division/unification 15 ms pour le rendu AMD K6-2 450MHz GeForce 256 DDR 0.4 Mtris/sec Le TnL de la GeForce 256 permet d'avoir 15 Mtris/sec technique non prévue pour le TnL déconseillé par nVidia néanmoins un très bon usage CPU/GPU avec des cartes de 1997
10
copyright Derivaux Sébastien 10 ROAM 2 Raisonnement par diamant plutôt que par triangles Datachunks: utilisation de vertex buffers (TnL) Perte de précision (en cours de travail) 17Mtris/sec sur une GeForce 4 Ti 4200
11
copyright Derivaux Sébastien 11 Comparaison avec des méthodes contemporaines CLOD (Lindstrom) 1996 quadtree de boites ayant une résolution de plus en plus fine avec cohérence temporelle sur chaque boite une simplification est effectuée sans cohérence temporelle n'est pas optimal à tout moment Progressive Mesh (Xia ou Hoppe) 1997 pré-calcul d'un arbre pour le raffinage (géométrie arbitraire) coûteux en mémoire cohérence temporelle, mais on teste toutes les possibilitées de raffinage à chaque image (pas de test différé), complexité en nombre de sommets affichés
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.