Title: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher
1Rendering Massive Terrains using Chunked Level of
Detail Control Ulrich Thatcher
- Fanny CHEVALIER
- Guillaume CAURANT
2Sommaire
- Contexte
- Méthodes existantes
- Objectifs
- Chunk LOD
- Principe
- Algorithme
- Avantages, inconvénients
- Démonstration
3Contexte
- Pourquoi le rendu de terrain ?
- Simulateur de vol, jeux, visites de sites
- Quest 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
4Techniques existantes
- Continuous LOD rendering of Height Fields
- (P. Lindstrom 1996)
- Progressive Meshes (H. Hoppe 1996)
- ROAM (Real-Time Optimally Adapting Meshes)
- (M. Duchaineau 1997)
5LOD Level Of Detail
- Créer différents niveaux de détails dun objet
- (pré-traitement)
69,451 polygones
2,502 polygones
251 polygones
76 polygones
6LOD Level Of Detail
- Créer différents niveaux de détails dun objet
- (pré-traitement)
- Adapter la résolution à la distance de lobjet
- (pendant lexécution)
7Erreur commise
t 2 pixels 79 382 polygones
t 4 pixels 25 100 polygones
t erreur sur laffichage
8Continuous LOD (P. Lindstrom)
- Simplification de la surface par bloc
- On peut représenter un bloc en moindre résolution
à condition que lerreur commise sur la topologie
ne dépasse pas un certain taux
?
9Continuous LOD (P. Lindstrom)
- Simplification dun bloc par point
- deux polygones peuvent être fusionnés à condition
que lerreur commise sur la topologie ne dépasse
pas un certain taux
?
10Progressive Meshes (H. Hoppe)
- Nouvelle conception de simplification de maillage
- Pas de suppression darête
- Fusion progressive de sommets
vt
vl
vl
vr
vr
vs
vs
11Progressive Meshes (H. Hoppe)
12ROAMing Terrain (M. Duchaineau)
- dépendant de langle de vue
13ROAMing Terrain (M. Duchaineau)
- dépendant de langle de vue
- Spécialisé pour la visualisation de terrain (les
données Height Field sont les entrées)
14ROAMing Terrain (M. Duchaineau)
- Principe de split and merge selon des files
de priorité basées sur lerreur commise
15Comparaison 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
16Objectifs
- Dépendant du point de vue
- Adapté au mapping de texture
17Chunck LOD Principe
Quadtree de données statiques
Niveau de détail
18Chunck LOD Principe
- 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
19La Dépendance Au Point De Vue
- 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
larbre - Grâce à cela nous pouvons appliquer un algorithme
basique de LOD - Quand on constate que lerreur produite par le
LOD nest plus acceptable par rapport à la
distance au point de vue, on change de niveau
dans larbre
20Discontinuité Du Maillage
- Problèmes de discontinuité à la jonction de deux
chunk de résolutions différentes
21Discontinuité 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
22Discontinuité Du Maillage
- 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 laffichage)
23Transitions Douces
- Un deuxième problème se pose comment rendre non
perceptible le passage entre deux niveaux de
résolution
24Textures Adaptatives
- Pour éviter des artefacts visuels, il faut avoir
une résolution de texture adaptée - De plus cela permet de réduire lespace 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
25Le Stockage Des Données
- 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 dun thread dédié au chargement des
données
26Avantages Et Inconvénients
- 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
27Avantages Et Inconvénients
- Inconvénients
- Pré-traitement fastidieux
- Données statiques
- Nombre de triangles supérieur à un algorithme
classique de simplification de maillage
28Conclusion !!!