RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly & L.Zaslavsky 1
Représentation du terrain Le terrain est représenté par une grille délévation : X Y A.Bailly & L.Zaslavsky 2
Techniques de rendu de terrain en temps réel Continuous LOD rendering of heigh fields (1996) ROAM : Real-time Optimally Adapting Meshes (1997) Comparaison des 2 méthodes A.Bailly & L.Zaslavsky 3
Real-Time, Continuous Level of Detail Rendering of Height Fields A.Bailly & L.Zaslavsky 4
Représentation du terrain La surface La surface correspondante est composée dun ensemble de blocs de triangles de taille 3x3 points : A.Bailly & L.Zaslavsky 5
Représentation du terrain Les blocs Chaque bloc peut être décomposé en une grille de sous-blocs de même dimension : A.Bailly & L.Zaslavsky 6
Algorithme Étapes Cet algorithme se décompose en deux étapes : Simplification dun bloc point par point. Simplification de la surface par bloc. A.Bailly & L.Zaslavsky 7
Algorithme Simplification par point Les deux triangles droit et gauche dun quadrant peuvent être fusionnés selon quune certaine condition soit vérifiée : A.Bailly & L.Zaslavsky 8
Simplification par point Condition de simplification Soit la distance verticale maximale entre les deux triangles obtenus après simplification : A.Bailly & L.Zaslavsky 9
Simplification par point Condition de simplification projeté sur le plan de projection indique lerreur maximum perceptible entre les deux triangles fusionnés et le triangle résultat de la fusion. Si est inférieur à un certain seuil alors les triangles peuvent être fusionnés. Lopération est répétée récursivement avec le triangle obtenu et un triangle adjacent. A.Bailly & L.Zaslavsky 10
Algorithme Simplification par bloc Pour ne pas avoir à considérer tous les points de la surface pour la simplification, lalgorithme procède par bloc. A.Bailly & L.Zaslavsky 11
Simplification par bloc Principe général Si toutes les valeurs des points dun bloc sont inférieures à alors le bloc peut être directement remplacé par un bloc de moindre résolution. De plus, de larges zones de terrain peuvent être éliminées par test avec la pyramide de vue. A.Bailly & L.Zaslavsky 12
Résultats A.Bailly & L.Zaslavsky 13
ROAMing Terrain - introduction Algorithme populaire de LOD Utilisé dans simulateurs de vol, jeux, réalité virtuelle… Principe de découpage et fusion de facettes ingénieux A.Bailly & L.Zaslavsky 14
Structure de données – arbre binaire Va VoV1 (Vo,V1) Vc1 (Vc1,Va,Vo)(Vc1,V1,Va)Level 1 A.Bailly & L.Zaslavsky 15 Calculé dans pré-processeur
Structure de données – arbre binaire Va VoV1 (Vo,V1) (Vc1,Va,Vo)(Vc1,V1,Va) Vc1 Vc2 Vc3 (Vo,Vc1,Vc2)(Vc2,Vc1,Va) (Va,Vc1,Vc3)(Vc3,Vc1,V1) Level 2 A.Bailly & L.Zaslavsky 16 On rajoute des feuilles TQ LOD non atteint
Accès aux structures de données : Split / merge opérations 3 cas : La face fait partie dun diamant - Split la face et « Base Neighbor ». La face est à coté du maillage - Trivial, split la face. La face nappartient pas à un diamant – Forcer le découpage du « Base Neighbor ». découpage fusion A.Bailly & L.Zaslavsky 17
Forcer le découpage dune face Current triangle Base neighbor « Current triangle » nappartient pas à un diamant récursivement, forcer le découpage jusquà trouver un diamant ! le triangle original peut maintenant être découpé. A.Bailly & L.Zaslavsky 18
Optimisation par files de priorités Priorités sur chaque facette. Si point de vue change : modification des priorités selon les frames précédentes. Split file : contient les triangles à raffiner. Merge file : contient les triangles à fusionner. Cohérence frame-to-frame (+ pour les grands terrains !) Maillage optimal : 1ère frame coûteuse, le reste peu coûteux grâce aux files. A.Bailly & L.Zaslavsky 19
Étude de performances Performance proportionnelle au nb de changements de triangles de la frame précédente ! et non la taille de la carte ! Tests sur Indigo2 Silicon Graphics View frustum culling : ok - flags pour chq triangle de larbre binaire. T-Stripping : bien, dû à la structure du terrain A.Bailly & L.Zaslavsky 20
Évolutions… Diamond Terrain algo (2001) : H.Hakl Basé sur ROAM, avec une structure de triangle quadtrees. 4 files LIFO (à la place des files de priorités) Meilleur pr triangle stripping Moins dopérations split/merge ex : 5 Splits pr Diamond pr réduire une face en 16 sous-facettes. ROAM fait 15 splits ! A.Bailly & L.Zaslavsky 21
Quelques graphiques… A.Bailly & L.Zaslavsky 22
Comparaison des méthodes ROAMLOD Height Field + Calcul conservé dune frame sur lautre. + Simplification par bloc. - Calcul refait à chaque frame. + La structure de données employée pour représenter la surface : + Pas de problème de disjonction de face. + Accélération par Triangle Stripping. A.Bailly & L.Zaslavsky 23