rendering massive terrains using chunked level of detail control ulrich thatcher fanny chevalier...

28
Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Upload: roxane-sergent

Post on 03-Apr-2015

112 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Rendering Massive Terrains using Chunked Level of Detail Control

Ulrich Thatcher

Fanny CHEVALIER

Guillaume CAURANT

Page 2: 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

Page 3: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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

Page 4: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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)

Page 5: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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

Page 6: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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)

Page 7: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Erreur commise

τ = 2 pixels

79 382 polygones

τ = 4 pixels

25 100 polygones

τ = erreur sur l’affichage

Page 8: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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)

Page 9: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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)

Page 10: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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’’

Page 11: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Progressive Meshes (H. Hoppe)

• Raffinement sélectif

Page 12: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• dépendant de l’angle de vue

ROAMing Terrain (M.

Duchaineau)

Page 13: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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)

Page 14: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• Principe de « split and merge » selon des files de priorité basées sur l’erreur commise

ROAMing Terrain (M.

Duchaineau)

Page 15: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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

Page 16: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Objectifs

• Simplification par bloc

• Transitions douces

• Dépendant du point de vue

• Adapté au mapping de texture

Page 17: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Chunck LOD : Principe

Quadtreede données statiques

Niveau dedétail

Page 18: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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

Page 19: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

– 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

Page 20: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• Problèmes de discontinuité à la jonction de deux « chunk » de résolutions différentes

Discontinuité Du Maillage

Page 21: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

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 »

Page 22: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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

Page 23: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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 »

Page 24: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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

Page 25: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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

Page 26: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• 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

Page 27: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

• Inconvénients :– Pré-traitement fastidieux– Données statiques– Nombre de triangles supérieur à un algorithme

classique de simplification de maillage

Avantages Et Inconvénients

Page 28: Rendering Massive Terrains using Chunked Level of Detail Control Ulrich Thatcher Fanny CHEVALIER Guillaume CAURANT

Conclusion !!!