Visible Surface Determination (Hidden Surface Removal)
Introduction Définition: Techniques permettant depuis un point de vue de déterminer les surfaces visibles dune scène.
Introduction 2 familles dalgorithme de détermination des surfaces visibles: basés image(Z-buffer, Scanline, RayCasting, …) basés objet(Backface Culling, Frustum Culling, Hidden Surface Removal, …)
Hidden Surface Removal Famille dalgorithmes: Utilisés au niveau Application du pipeline 3D Diminuent le nombre de vertex à traiter Généralement utilisé pour rendre une scène de manière conservative
Hidden Surface Removal Plusieurs étapes: Partionnement de lespace (Spatial partitioning) Détermination des surfaces potentiellement visible (PVS) Elimination en fonction du point de vue (Frustum culling)
Spatial partitionning Définition: techniques permettant de subdiviser un espace. Ainsi, on transforme un problème complexe en un ensemble de sous problèmes plus simple. Principales techniques: BSP (Binary Space Partitionning) Quadtree, octree
BSP: généralités Plusieurs approches: Face Espaces convexes
BSP: par face Vide 1 4f 4b 4f Vide b
BSP: par face Avantages: Pré-calculé Facilitation de lordre daffichage Pas dartéfact à laffichage Inconvénients: Construction Non optimal dans les espaces ouverts
BSP: par espace convexe Face : Disjointe (D) : si pas à lintérieur de la cellule Transversale (T) : si intersection avec ces deux extrémité et la cellule Couvrante (C) : si confondu avec un cote de la cellule Incidente (I) : si non a b d c g fe e a = C, b = D, c = C, d = C, e = C, f = D, g = D a = C, b = C, c = C, d = D, e = C, f = I, g = I f a = C, b =C, c = D, d = D, e = C, f = C, g = I a = D, b = C, c = C, d = D, e = C, f = C, g = D g a = C, b = C, c = D, d = D, e = D, f = C, g = C a = C, b = D, c = D, d = D, e = C, f = C, g = C a = C, b = C, c = C, d = C, e = T, f = I, g = I
BSP: par espace convexe Avantages: Pré-calculé Facilitation de lordre daffichage Repérage facile dans la scène Inconvénients: Construction Non optimal dans les espaces ouverts
Quadtree/Octree
Avantages: Pré-calculé Construction Repérage facile dans la scène Inconvénients: Non optimal dans les espaces fermés Génère de nouvelles faces
PVS: Généralités Définition: Cest lensemble des cellules potentiellement visible depuis une cellule donnée. Plusieurs étapes: Graphe dadjacence Ligne de vue à travers une séquence de portails
PVS: Graphe dadjacence a b d c g fe e : O {a, c, d, e} f : NO {b, c, e, f} g : NO {a, e, f, g}{a, f, g, b} Plan opaque : O Plan non opaque : NO
PVS: Ligne de vue A B C E D Depuis A, on peut potentiellement voir : A (B)A (B, C)A (B, C, D)
Frustum culling Effectué pendant lexécution car dépend du point de vue. Plusieurs techniques applicables à nos arbres de scènes. Nous allons traiter la technique du Portal
Portal A B C E D
A B C E D
Conclusion Techniques haut niveau Pas dimplémentation hardware Algorithme très performant
REFERENCES Quakes Visible Surface Determination – Mickael ABRASH – 1995 Computer Graphics : Principles and Practice – James D. FOLEY et al – 1994 Visible Preprocessing for Interactive Walkthroughs – Seth TELLER – 1991 Visible computations in densely occluded polyhedral environment – Seth TELLER WEB Moteur de recherche