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

Post on 03-Apr-2015

112 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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 !!!

top related