visible surface determination (hidden surface removal)
TRANSCRIPT
![Page 1: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/1.jpg)
Visible Surface Determination
(Hidden Surface Removal)
![Page 2: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/2.jpg)
Introduction
Définition:
Techniques permettant depuis un point de vue de déterminer les surfaces visibles d’une scène.
![Page 3: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/3.jpg)
Introduction
2 familles d’algorithme de détermination des surfaces visibles:
•basés image(Z-buffer, Scanline, RayCasting, …)
•basés objet(Backface Culling, Frustum Culling, Hidden Surface Removal, …)
![Page 4: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/4.jpg)
Hidden Surface Removal
Famille d’algorithmes:
• 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
![Page 5: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/5.jpg)
Hidden Surface Removal
Plusieurs étapes:
• Partionnement de l’espace (Spatial partitioning)
• Détermination des surfaces potentiellement visible (PVS)
• Elimination en fonction du point de vue (Frustum culling)
![Page 6: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/6.jpg)
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
![Page 7: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/7.jpg)
BSP: généralités
Plusieurs approches:
• Face
• Espaces convexes
![Page 8: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/8.jpg)
BSP: par face
0
1 2 3
4
5
0
Vide1
4f
4b
4f
Vide5
2
Vide3
Vide4b
![Page 9: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/9.jpg)
BSP: par face
Avantages:
• Pré-calculé
• Facilitation de l’ordre d’affichage
• Pas d’artéfact à l’affichage
Inconvénients:
• Construction
• Non optimal dans les espaces ouverts
![Page 10: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/10.jpg)
BSP: par espace convexe
Face :
•Disjointe (D) : si pas à l’inté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
bd
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 = If
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
![Page 11: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/11.jpg)
BSP: par espace convexe
Avantages:
• Pré-calculé
• Facilitation de l’ordre d’affichage
• Repérage facile dans la scène
Inconvénients:
• Construction
• Non optimal dans les espaces ouverts
![Page 12: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/12.jpg)
Quadtree/Octree
![Page 13: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/13.jpg)
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
![Page 14: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/14.jpg)
PVS: Généralités
Définition:C’est l’ensemble des cellules potentiellement
visible depuis une cellule donnée.Plusieurs étapes:• Graphe d’adjacence• Ligne de vue à travers une séquence de
portails
![Page 15: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/15.jpg)
PVS: Graphe d’adjacence
a
bd
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
![Page 16: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/16.jpg)
PVS: Ligne de vue
AB
CE
D
Depuis A, on peut potentiellement voir :
A (B)A (B, C)A (B, C, D)A (B, C, D)
![Page 17: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/17.jpg)
Frustum culling
Effectué pendant l’exécution car dépend du point de vue.
Plusieurs techniques applicables à nos arbres de scènes.
Nous allons traiter la technique du Portal
![Page 18: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/18.jpg)
Portal
AB
CE
D
![Page 19: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/19.jpg)
Portal
A
B
CE
D
![Page 20: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/20.jpg)
Conclusion
• Techniques haut niveau
• Pas d’implémentation hardware
• Algorithme très performant
![Page 21: Visible Surface Determination (Hidden Surface Removal)](https://reader036.vdocuments.us/reader036/viewer/2022081518/551d9d81497959293b8bab3e/html5/thumbnails/21.jpg)
REFERENCES
Quake’s Visible Surface Determination – Mickael ABRASH – 1995 Computer Graphics : Principles and Practice – James D. FOLEY et al – 1994Visible Preprocessing for Interactive Walkthroughs – Seth TELLER – 1991Visible computations in densely occluded polyhedral environment – Seth TELLER
WEB
http://www.siggraph.orghttp://www.gamasutra.comhttp://hulud.planet-d.net/bsp.html
Moteur de recherche
http://citeseer.nj.nec.com/cs