hierarchical z-buffer visibility harasse sébastien portier guillaume

18
Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Upload: pons-labbe

Post on 03-Apr-2015

125 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Hierarchical Z-Buffer Visibility

HARASSE SébastienPORTIER Guillaume

Page 2: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Plan

Introduction Rappels sur le Z-Buffer Principe

Espace objet Espace écran Cohérence temporelle

Résultats et limitations

Page 3: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Introduction

Document de Greene, Kass et Miller, 1993

But : Rendre des scènes complexes.

Z-Buffer classique : rend toutes les primitives, même celles qui sont cachées.

Trouver une méthode conservative qui élimine un maximum de primitives avant le rendu.

Page 4: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Rappels sur le Z-Buffer

Tableau de même dimension que l’écran de rendu

Garde la profondeur de chaque pixel affiché

Principe :pour chaque pixel de la primitive à afficher,

on va comparer sa profondeur avec celle déjà stockée dans le Z-Buffer.

Page 5: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Principe

3 cohérences à exploiter :- Cohérence dans l’espace objet- Cohérence dans l’espace écran- Cohérence temporelle

La méthode présentée est conservative.

Page 6: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Espace objetUtilisation d’un octree : Subdivision hiérarchique de l’espace en cubes (8 cubes par niveau).

Page 7: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Espace objetUtilisation d’un octree : Subdivision hiérarchique de l’espace en cubes (8 cubes par niveau).

Page 8: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Espace objetUtilisation d’un octree : Subdivision hiérarchique de l’espace en cubes (8 cubes par niveau).

Page 9: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

OctreeLe cube racine de l’octree englobe toute la scène.

Page 10: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

OctreeOn associe chaque objet au cube englobant le plus petit.

Page 11: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

OctreeOn associe chaque objet au cube englobant le plus petit.

Page 12: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Espace écranUtilisation d’une pyramide de Z-Buffer : Subdivision hiérarchique de l’écran en carrés.

Page 13: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Mise en Place• On teste chaque face d’un cube de l’octree avec la pyramide.

• Si une des faces est visible, on peut rendre ses objets et traiter les cubes fils.

• Sinon, on élimine du rendu tout le sous-arbre correspondant.

Page 14: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Cohérence temporelle

A chaque frame, on sauvegarde la liste des cubes visibles de l’octree.

A la frame suivante, on rend toutes les primitives des cubes de cette liste, ce qui initialise un Z-Buffer, utilisé pour initialiser la pyramide.

La visibilité d’un objet à un temps donné a beaucoup de chance d’être identique au temps suivant.

Page 15: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

RésultatsPour une scène statique, la méthode a de meilleures performances que le Z-Buffer classique à partir d’un certain nombre de polygones.

Page 16: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

LimitationsPour des scènes dynamiques, difficultés d’implémentation.Résultats bien inférieurs à ceux d’un Z-Buffer normal.

Page 17: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

LimitationsProblème du Z-Query dans le cadre d’utilisation d’une carte 3D à accélération matérielle pour initialiser la pyramide Z-Buffer.

Une solution serait d’implémenter la pyramide Z-Buffer dans le matériel.

Page 18: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume

Références

• Hierarchical Z-Buffer Visibility Greene et al. 1993

• Dynamic Scene Occlusion Culling Sudarsky & Gotsman 1999

• A Spatially and Temporally Coherent Object Space Visibility Algorithm Coorg & Teller