hierarchical z-buffer visibility harasse sébastien portier guillaume
TRANSCRIPT
![Page 1: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/1.jpg)
Hierarchical Z-Buffer Visibility
HARASSE SébastienPORTIER Guillaume
![Page 2: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/9.jpg)
OctreeLe cube racine de l’octree englobe toute la scène.
![Page 10: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/10.jpg)
OctreeOn associe chaque objet au cube englobant le plus petit.
![Page 11: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/11.jpg)
OctreeOn associe chaque objet au cube englobant le plus petit.
![Page 12: Hierarchical Z-Buffer Visibility HARASSE Sébastien PORTIER Guillaume](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062312/551d9d7f497959293b8b754e/html5/thumbnails/18.jpg)
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