21
Visible Surface Determination (Hidden Surface Removal)

Visible Surface Determination (Hidden Surface Removal)

Embed Size (px)

Citation preview

Page 1: Visible Surface Determination (Hidden Surface Removal)

Visible Surface Determination

(Hidden Surface Removal)

Page 2: Visible Surface Determination (Hidden Surface Removal)

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)

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)

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)

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)

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)

BSP: généralités

Plusieurs approches:

• Face

• Espaces convexes

Page 8: Visible Surface Determination (Hidden Surface Removal)

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)

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)

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)

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)

Quadtree/Octree

Page 13: Visible Surface Determination (Hidden Surface Removal)

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)

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)

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)

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)

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)

Portal

AB

CE

D

Page 19: Visible Surface Determination (Hidden Surface Removal)

Portal

A

B

CE

D

Page 20: Visible Surface Determination (Hidden Surface Removal)

Conclusion

• Techniques haut niveau

• Pas d’implémentation hardware

• Algorithme très performant

Page 21: Visible Surface Determination (Hidden Surface Removal)

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