rendering massive terrains using chunked level of detail control ulrich thatcher fanny chevalier...
TRANSCRIPT
Rendering Massive Terrains using Chunked Level of Detail Control
Ulrich Thatcher
Fanny CHEVALIER
Guillaume CAURANT
Sommaire
• Contexte• Méthodes existantes• Objectifs• Chunk LOD
– Principe– Algorithme– Avantages, inconvénients
• Démonstration
Contexte• Pourquoi le rendu de terrain ?
– Simulateur de vol, jeux, visites de sites…– Qu’est ce que le rendu de terrain idéal ?
• Pourquoi la simplification de terrain ?– Énormément de données– Rendu 3D réaliste en temps réel
Techniques existantes
• Continuous LOD rendering of Height Fields(P. Lindstrom 1996)
• Progressive Meshes (H. Hoppe 1996)
• ROAM (Real-Time Optimally Adapting Meshes)(M. Duchaineau 1997)
LOD : Level Of Detail• Créer différents niveaux de détails d’un objet (pré-traitement)
69,451 polygones 2,502 polygones 251 polygones 76 polygones
LOD : Level Of Detail• Créer différents niveaux de détails d’un objet (pré-traitement)• Adapter la résolution à la distance de l’objet(pendant l’exécution)
Erreur commise
τ = 2 pixels
79 382 polygones
τ = 4 pixels
25 100 polygones
τ = erreur sur l’affichage
• Simplification de la surface par bloc– On peut représenter un bloc en moindre
résolution à condition que l’erreur commise sur la topologie ne dépasse pas un certain taux
Continuous LOD (P. Lindstrom)
• Simplification d’un bloc par point– deux polygones peuvent être fusionnés à
condition que l’erreur commise sur la topologie ne dépasse pas un certain taux
Continuous LOD (P. Lindstrom)
• Nouvelle conception de simplification de maillage :– Pas de suppression d’arête– Fusion progressive de sommets
Progressive Meshes (H. Hoppe)
vvll vvrr
vvtt
vvssvvss
vvll vvrr’’
Progressive Meshes (H. Hoppe)
• Raffinement sélectif
• dépendant de l’angle de vue
ROAMing Terrain (M.
Duchaineau)
• dépendant de l’angle de vue
• Spécialisé pour la visualisation de terrain (les données « Height Field » sont les entrées)
ROAMing Terrain (M.
Duchaineau)
• Principe de « split and merge » selon des files de priorité basées sur l’erreur commise
ROAMing Terrain (M.
Duchaineau)
Comparaison des deux méthodes
CLOD ROAM
Simplification par bloc OUI NON
Transitions douces OUI OUI
Dépend du point de vue NON OUI
Adapté au mapping de texture NON
Frame-to frame coherence NON OUI
Objectifs
• Simplification par bloc
• Transitions douces
• Dépendant du point de vue
• Adapté au mapping de texture
Chunck LOD : Principe
Quadtreede données statiques
Niveau dedétail
• Le cœur de la méthode– Un Quadtree de données statiques (mesh)
appelé « chunks »– Données statiques générées par une étape
préalable de simplification de mesh classique– Morphing des « chunks » au passage des
différents niveaux– Textures incorporées avec les données
géométriques
Chunck LOD : Principe
– Chaque « Chunck » possède une boîte englobante et une erreur géométrique maximum
– Cette erreur est la même pour chaque niveaux de l’arbre
– Grâce à cela nous pouvons appliquer un algorithme basique de LOD
– Quand on constate que l’erreur produite par le LOD n’est plus acceptable par rapport à la distance au point de vue, on change de niveau dans l’arbre
La Dépendance Au Point De Vue
• Problèmes de discontinuité à la jonction de deux « chunk » de résolutions différentes
Discontinuité Du Maillage
Discontinuité Du Maillage
• Problèmes de discontinuité à la jonction de deux « chunk » de résolutions différentes– utilisation de quadrangles verticaux le long du
bord de chaque « chunk »
• Problèmes de discontinuité à la jonction de deux « chunk » de résolutions différentes– Pour régler le problème, utilisation de
quadrangles verticaux le long du bord de chaque « chunk »
– Ces quadrangles sont texturés en étirant la texture du « chunk »
– Tout ceci est statique et fait partie intégrante du « chunk » (donc évite des calculs superflus lors de l’affichage)
Discontinuité Du Maillage
• Un deuxième problème se pose : comment rendre non perceptible le passage entre deux niveaux de résolution
Transitions Douces
– Utilisation d’un paramètre de morphing qui agira sur la hauteur des vertices (interpolation linéaire)
– Ce paramètre est compris entre 0 et 1• 0 : lorsque l’on va découper le « chunk »
• 1 : lorsque l’on va fusionner plusieurs « chunks »
• Pour éviter des artefacts visuels, il faut avoir une résolution de texture adaptée
• De plus cela permet de réduire l’espace mémoire occupé
• Grâce à la structure en quadtree nous avons la possibilité de faire du MipMapping en intégrant une texture avec une résolution adéquate pour le niveau dans lequel elle se trouve
Textures Adaptatives
• Données très volumineuses• Facile de stocker les données hors du corps du
programme et de les charger à la demande grâce à la hiérarchie des « chunks »
• Utilisation d’un thread dédié au chargement des données
Le Stockage Des Données
• Avantages :– Textures intégrées avec la géométrie– Facile a intégrer hors du corps du programme– Transitions douces entre les niveaux– Charge CPU peu élevée
Avantages Et Inconvénients
• Inconvénients :– Pré-traitement fastidieux– Données statiques– Nombre de triangles supérieur à un algorithme
classique de simplification de maillage
Avantages Et Inconvénients
Conclusion !!!