hierarchical z-buffer visibility harasse sébastien portier guillaume

Post on 03-Apr-2015

119 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Hierarchical Z-Buffer Visibility

HARASSE SébastienPORTIER Guillaume

Plan

Introduction Rappels sur le Z-Buffer Principe

Espace objet Espace écran Cohérence temporelle

Résultats et limitations

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.

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.

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.

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

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

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

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

OctreeOn associe chaque objet au cube englobant le plus petit.

OctreeOn associe chaque objet au cube englobant le plus petit.

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

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.

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.

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.

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

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.

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

top related