7/17/98 HZ Hierarchical Occlusion Maps stolen by Dave Luebke from the Ph.D. Defense presentation of: Hansong Zhang Department of Computer Science UNC-Chapel.

Slides:



Advertisements
Similar presentations
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Advertisements

Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Introduction to Massive Model Visualization Patrick Cozzi Analytical Graphics, Inc.
Visibility Culling David Luebke Computer Science Department University of Virginia
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Visibility in Games Harald Riegler. 2 / 18 Visibility in Games n What do we need it for? u Increase of rendering speed by removing unseen scene data from.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
Hidden Surface Removal CSE 581. Visibility Assumption: All polygons are opaque What polygons are visible with respect to your view frustum?  Outside:
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Visibility Culling Back face culling View-frustrum culling Detail culling Occlusion culling.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
1 From-Point Occlusion Culling From-Point Occlusion Culling Chapter 23.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hidden Surface Removal
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
Roger A. Crawfis CIS 781 The Ohio State University
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Graphics Pipeline Hidden Surfaces CMSC 435/634. Visibility We can convert simple primitives to pixels Which primitives (or parts of primitives) should.
Graphics Pipeline Hidden Surface CMSC 435/634. Visibility We can convert simple primitives to pixels/fragments How do we know which primitives (or which.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
10/29/02 (c) 2002 University of Wisconsin, CS559 Today Hidden Surface Removal Exact Visibility.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
Culling Techniques “To cull” means “to select from group” In graphics context: do not process data that will not contribute to the final image The “group”
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Visibility Culling III: Image-Space Occlusion David Luebke Computer Science Department University of Virginia
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging.
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
CS 325 Introduction to Computer Graphics 03 / 22 / 2010 Instructor: Michael Eckmann.
Hidden Surface Removal
Implementation II.
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
10/07/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Spatial data structures.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
Computer Graphics I, Fall 2010 Implementation II.
DPL2/10/2016 CS 551/651: Final Review David Luebke
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008.
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
CSCE 441: Computer Graphics Hidden Surface Removal
Implementation II Ed Angel Professor Emeritus of Computer Science
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
UMBC Graphics for Games
CS 551 / 645: Introductory Computer Graphics
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

7/17/98 HZ Hierarchical Occlusion Maps stolen by Dave Luebke from the Ph.D. Defense presentation of: Hansong Zhang Department of Computer Science UNC-Chapel Hill Hansong Zhang Department of Computer Science UNC-Chapel Hill

7/17/98 HZ Visibility Culling Discard objects not visible to the viewer View Point View-frustum culling Back-face culling Occlusion culling View Frustum

7/17/98 HZ Hierarchical Occlusion Maps: Overview Blue parts: occluders Red parts: occludees

7/17/98 HZ Effective Algorithms Generality –Arbitrary models Speed-up –Significant, fast culling for interactive graphics Portability –Few hardware assumptions –Robustness Generality –Arbitrary models Speed-up –Significant, fast culling for interactive graphics Portability –Few hardware assumptions –Robustness

7/17/98 HZ Thesis Statement By properly decomposing the occlusion-culling problem and efficiently representing occlusion, we can obtain effective algorithms and systems for occlusion culling.

7/17/98 HZ Observations Want to handle cumulative occlusion View Point A B

7/17/98 HZ Observations Want an occlusion representation (OR) Fast to computeFast to compute Fast to useFast to use Want an occlusion representation (OR) Fast to computeFast to compute Fast to useFast to use View Point A B

7/17/98 HZ Observations Progressive occlusion culling Initialize OR to null for each object Occlusion test against OR if culled Discard object else Render object Update OR Progressive occlusion culling Initialize OR to null for each object Occlusion test against OR if culled Discard object else Render object Update OR

7/17/98 HZ Observations Multi-pass occlusion culling Initialize OR to null; initialize PO to empty for each object Occlusion test against OR If culled Discard object else Render object Add object to PO if PO is large enough Update OR with objects in PO Multi-pass occlusion culling Initialize OR to null; initialize PO to empty for each object Occlusion test against OR If culled Discard object else Render object Add object to PO if PO is large enough Update OR with objects in PO #passes = #updates The set of potential occluders

7/17/98 HZ Observations Special case: one-pass occlusion culling Select occluders until PO is large enoughSelect occluders until PO is large enough Update (build) occlusion representationUpdate (build) occlusion representation Occlusion culling & final renderingOcclusion culling & final rendering Special case: one-pass occlusion culling Select occluders until PO is large enoughSelect occluders until PO is large enough Update (build) occlusion representationUpdate (build) occlusion representation Occlusion culling & final renderingOcclusion culling & final rendering

7/17/98 HZ Problem Decomposition View Point Z X Y Occlusion = depth + overlap

7/17/98 HZ Problem Decomposition Verifying occlusion Overlap testsOverlap tests –Based on representations for projection Depth testsDepth tests –Based on representations for depth Verifying occlusion Overlap testsOverlap tests –Based on representations for projection Depth testsDepth tests –Based on representations for depth

7/17/98 HZ Rendered Image Occlusion Map Occlusion Maps

7/17/98 HZ Occlusion Maps An occlusion mapAn occlusion map –Corresponds to a screen subdivision –Records average opacity for each partition Can be generated by rendering occludersCan be generated by rendering occluders –Record pixel opacities (pixel coverage) Merge projections of occludersMerge projections of occluders Represent occlusion in image-spaceRepresent occlusion in image-space An occlusion mapAn occlusion map –Corresponds to a screen subdivision –Records average opacity for each partition Can be generated by rendering occludersCan be generated by rendering occluders –Record pixel opacities (pixel coverage) Merge projections of occludersMerge projections of occluders Represent occlusion in image-spaceRepresent occlusion in image-space

7/17/98 HZ Occlusion Map Pyramid 64 x 6432 x 3216 x 16

7/17/98 HZ Occlusion Map Pyramid

7/17/98 HZ Occlusion Map Pyramid Analyzing cumulative projection A hierarchy of occlusion maps (HOM)A hierarchy of occlusion maps (HOM) Made by recursive averaging (low-pass filtering)Made by recursive averaging (low-pass filtering) Record average opacities for blocks of pixelsRecord average opacities for blocks of pixels Represent occlusion at multiple resolutionsRepresent occlusion at multiple resolutions Construction accelerated by hardwareConstruction accelerated by hardware Analyzing cumulative projection A hierarchy of occlusion maps (HOM)A hierarchy of occlusion maps (HOM) Made by recursive averaging (low-pass filtering)Made by recursive averaging (low-pass filtering) Record average opacities for blocks of pixelsRecord average opacities for blocks of pixels Represent occlusion at multiple resolutionsRepresent occlusion at multiple resolutions Construction accelerated by hardwareConstruction accelerated by hardware

7/17/98 HZ Overlap Tests Problem: is the projection of tested object inside the cumulative projection of the occluders?Problem: is the projection of tested object inside the cumulative projection of the occluders? Cumulative projection of occluders: the pyramidCumulative projection of occluders: the pyramid Projection of the tested objectProjection of the tested object –Conservative overestimation »Bounding boxes (BB) »Bounding rectangles (BR) of BB’s Problem: is the projection of tested object inside the cumulative projection of the occluders?Problem: is the projection of tested object inside the cumulative projection of the occluders? Cumulative projection of occluders: the pyramidCumulative projection of occluders: the pyramid Projection of the tested objectProjection of the tested object –Conservative overestimation »Bounding boxes (BB) »Bounding rectangles (BR) of BB’s

7/17/98 HZ Overlap Tests The basic algorithm Given: HOM pyramid; the object to be tested Compute BR and the initial level in the pyramid Compute BR and the initial level in the pyramid for each pixel touched by the BR for each pixel touched by the BR if pixel is fully opaque continueelse if level = 0 return FALSE elsedescend...

7/17/98 HZ Overlap Tests Evaluating opacity: early termination Conservative rejectionConservative rejection Aggressive approximate cullingAggressive approximate culling Predictive rejectionPredictive rejection Evaluating opacity: early termination Conservative rejectionConservative rejection Aggressive approximate cullingAggressive approximate culling Predictive rejectionPredictive rejection

7/17/98 HZ Conservative Rejection A low-opacity pixel does not correspond to many high-opacity pixels at finer levelsA low-opacity pixel does not correspond to many high-opacity pixels at finer levels The transparency thresholdThe transparency threshold A low-opacity pixel does not correspond to many high-opacity pixels at finer levelsA low-opacity pixel does not correspond to many high-opacity pixels at finer levels The transparency thresholdThe transparency threshold

7/17/98 HZ Aggressive Approximate Culling Ignoring barely-visible objects Small holes in or among objectsSmall holes in or among objects To ignore the small holesTo ignore the small holes –LPF suppresses noise — holes “dissolve” –Thresholding: regard “very high” opacity as fully opaque The opacity threshold: the opacity above which a pixel is considered to be fully opaqueThe opacity threshold: the opacity above which a pixel is considered to be fully opaque Ignoring barely-visible objects Small holes in or among objectsSmall holes in or among objects To ignore the small holesTo ignore the small holes –LPF suppresses noise — holes “dissolve” –Thresholding: regard “very high” opacity as fully opaque The opacity threshold: the opacity above which a pixel is considered to be fully opaqueThe opacity threshold: the opacity above which a pixel is considered to be fully opaque

7/17/98 HZ Aggressive Approximate Culling

7/17/98 HZ Aggressive Approximate culling Further descent not necessary when fully opaqueFurther descent not necessary when fully opaque –Tests terminated before holes are reached Need different opacity thresholds for each levelNeed different opacity thresholds for each level Further descent not necessary when fully opaqueFurther descent not necessary when fully opaque –Tests terminated before holes are reached Need different opacity thresholds for each levelNeed different opacity thresholds for each level

7/17/98 HZ Predictive Rejection Terminate the test knowing it must fail later...Terminate the test knowing it must fail later...

7/17/98 HZ Summary: Levels of Visibility The continuum between being visible and non-visible Almost transparent (low opacity) Almost opaque (high opacity) Almost visible Almost non-visible Occlusion Maps Potential Occludees

7/17/98 HZ Resolving Depth What’s left of the occlusion test? B A “A occludes B” = “A’s projection contains B’s” + ? B does not occlude any part of A Another interpretation...

7/17/98 HZ Resolving Depth Depth representations Define a boundary beyond which an object overlapping occluders is definitely occludedDefine a boundary beyond which an object overlapping occluders is definitely occluded Conservative estimates:Conservative estimates: –A single plane –Depth estimation buffer No-background z-bufferNo-background z-buffer Depth representations Define a boundary beyond which an object overlapping occluders is definitely occludedDefine a boundary beyond which an object overlapping occluders is definitely occluded Conservative estimates:Conservative estimates: –A single plane –Depth estimation buffer No-background z-bufferNo-background z-buffer

7/17/98 HZ A single plane The point with nearest depth Occluders Viewing direction This object passes the depth test The plane A Image plane … at the farthest vertex of the occluders

7/17/98 HZ Depth Estimation Buffer Like a low-res depth buffer Uniform subdivision of the screenUniform subdivision of the screen A plane for each partitionA plane for each partition Defines the far boundaryDefines the far boundary Updates (i.e. computing depth representation)Updates (i.e. computing depth representation) –Occluder bounding rectangle at farthest depth Depth testsDepth tests –Occudee bounding rectangle at nearest depth Like a low-res depth buffer Uniform subdivision of the screenUniform subdivision of the screen A plane for each partitionA plane for each partition Defines the far boundaryDefines the far boundary Updates (i.e. computing depth representation)Updates (i.e. computing depth representation) –Occluder bounding rectangle at farthest depth Depth testsDepth tests –Occudee bounding rectangle at nearest depth

7/17/98 HZ Depth Estimation Buffer Bounding rectangle at nearest depth D. E. B. Occluders A Viewing direction Transformed view-frustum Bounding rectangle at farthest depth B Imageplane

7/17/98 HZ Depth Estimation Buffer Trade-off AdvantagesAdvantages –Removes need for strict depth sorting –Speed –Portability DisadvantagesDisadvantages –Conservative far boundary –Requires good bounding volumes Trade-off AdvantagesAdvantages –Removes need for strict depth sorting –Speed –Portability DisadvantagesDisadvantages –Conservative far boundary –Requires good bounding volumes

7/17/98 HZ No-Background Z-Buffer The z-buffer from occluder rendering...The z-buffer from occluder rendering... –is by itself an full occlusion representation –has to be modified to support our depth tests “Removing” background depth values“Removing” background depth values –Replace them the “foreground” depth values Captures the near boundaryCaptures the near boundary The z-buffer from occluder rendering...The z-buffer from occluder rendering... –is by itself an full occlusion representation –has to be modified to support our depth tests “Removing” background depth values“Removing” background depth values –Replace them the “foreground” depth values Captures the near boundaryCaptures the near boundary

7/17/98 HZ No-Background Z-Buffer D. E. B Occluders N. B. Z A Viewing direction Transformed view-frustum Objects passing the depth tests Imageplane

7/17/98 HZ No-Background Z-Buffer Trade-off AdvantagesAdvantages –Captures the near boundary –Less sensitive to bounding boxes DisadvantagesDisadvantages –Assumes quickly accessible z-buffer –Resolution same as occlusion maps (however…) Trade-off AdvantagesAdvantages –Captures the near boundary –Less sensitive to bounding boxes DisadvantagesDisadvantages –Assumes quickly accessible z-buffer –Resolution same as occlusion maps (however…)

7/17/98 HZ Occluder Selection Occlusion-preserving simplification (OPS)Occlusion-preserving simplification (OPS) Run-time selectionRun-time selection Visibility pre-processingVisibility pre-processing Occlusion-preserving simplification (OPS)Occlusion-preserving simplification (OPS) Run-time selectionRun-time selection Visibility pre-processingVisibility pre-processing

7/17/98 HZ OPS View-independent OPSView-independent OPS X Z

7/17/98 HZ OPS View-dependent OPSView-dependent OPS

7/17/98 HZ OPS In practice, use traditional, static LOD’sIn practice, use traditional, static LOD’s –More restrictive view-independent OPS –Well-studied and available –Low run-time overhead –Shared with final rendering, no extra memory –Area-preserving [Erikson 98] Conservative OPS (COPS)...Conservative OPS (COPS)... In practice, use traditional, static LOD’sIn practice, use traditional, static LOD’s –More restrictive view-independent OPS –Well-studied and available –Low run-time overhead –Shared with final rendering, no extra memory –Area-preserving [Erikson 98] Conservative OPS (COPS)...Conservative OPS (COPS)...

7/17/98 HZ Occluder selection At run time Distance-based selection with a polygon budgetDistance-based selection with a polygon budget Temporal coherenceTemporal coherence Visibility sampling Pre-compute visible objects on a 3-D gridPre-compute visible objects on a 3-D grid Facilitates run-time selectionFacilitates run-time selection At run time Distance-based selection with a polygon budgetDistance-based selection with a polygon budget Temporal coherenceTemporal coherence Visibility sampling Pre-compute visible objects on a 3-D gridPre-compute visible objects on a 3-D grid Facilitates run-time selectionFacilitates run-time selection

7/17/98 HZ Implementation A two-pass framework View Frustum Culling Build Occlusion Representation Scene Database Occluder Selection Rendering Occlusion Culling LOD LOD

7/17/98 HZ Implementation PipeliningPipelining FinalDraw N OccDraw N +1 OccDraw N FinalDraw N+1 OccDraw N+2 FinalDraw N +1 OccSel N OccSel N+1 OccSel N+2 OccSel N+3 Cull N Cull N+1 Cull N+2

7/17/98 HZ Implementation Uses bounding volume hierarchyUses bounding volume hierarchy Active layers of the pyramid: 4x4 - 64x64Active layers of the pyramid: 4x4 - 64x64 ResolutionsResolutions –Occluder rendering - 256x256 –D. E. B. - 64x64 Test platformsTest platforms –SGI Onyx II, 4 195Mhz R10000, InfiniteReality –SGI Onyx I, 4 250MHz R4400, InfiniteReality Uses bounding volume hierarchyUses bounding volume hierarchy Active layers of the pyramid: 4x4 - 64x64Active layers of the pyramid: 4x4 - 64x64 ResolutionsResolutions –Occluder rendering - 256x256 –D. E. B. - 64x64 Test platformsTest platforms –SGI Onyx II, 4 195Mhz R10000, InfiniteReality –SGI Onyx I, 4 250MHz R4400, InfiniteReality

7/17/98 HZ Results The city model

7/17/98 HZ Results The city model 312,524 polygons312,524 polygons Single CPUSingle CPU 5,000 occluder polygons5,000 occluder polygons Depth estimation bufferDepth estimation buffer Opacity thresholds 1.0Opacity thresholds 1.0 Lighting; display lists; no triangle stripsLighting; display lists; no triangle strips The city model 312,524 polygons312,524 polygons Single CPUSingle CPU 5,000 occluder polygons5,000 occluder polygons Depth estimation bufferDepth estimation buffer Opacity thresholds 1.0Opacity thresholds 1.0 Lighting; display lists; no triangle stripsLighting; display lists; no triangle strips

7/17/98 HZ Results

7/17/98 HZ Results

7/17/98 HZ Results Auxiliary Machine Room (AMR)

7/17/98 HZ Results AMR 632,252 polygons632,252 polygons 3 CPUs3 CPUs 25,000 occluder polygons25,000 occluder polygons No-background z-bufferNo-background z-buffer Approximate culling (0.85 for level 64x64)Approximate culling (0.85 for level 64x64) LODLOD Lighting; display lists; no triangle stripsLighting; display lists; no triangle stripsAMR 632,252 polygons632,252 polygons 3 CPUs3 CPUs 25,000 occluder polygons25,000 occluder polygons No-background z-bufferNo-background z-buffer Approximate culling (0.85 for level 64x64)Approximate culling (0.85 for level 64x64) LODLOD Lighting; display lists; no triangle stripsLighting; display lists; no triangle strips

7/17/98 HZ Results

7/17/98 HZ Results

7/17/98 HZ Results

7/17/98 HZ Results The power plant model

7/17/98 HZ Results The power plant model 15 million triangles15 million triangles 3 CPUs3 CPUs Visibility pre-processing on a 20x20 grid (~15min)Visibility pre-processing on a 20x20 grid (~15min) No-background z-bufferNo-background z-buffer 18,000 occluder polygons18,000 occluder polygons opacity thresholds from 0.85 and upopacity thresholds from 0.85 and up LODLOD The power plant model 15 million triangles15 million triangles 3 CPUs3 CPUs Visibility pre-processing on a 20x20 grid (~15min)Visibility pre-processing on a 20x20 grid (~15min) No-background z-bufferNo-background z-buffer 18,000 occluder polygons18,000 occluder polygons opacity thresholds from 0.85 and upopacity thresholds from 0.85 and up LODLOD

7/17/98 HZ Results

7/17/98 HZ

Conclusion Goals achieved GeneralityGenerality –Any model, any occluder –Occluder fusion Speed-upSpeed-up –Accelerate interactive graphics Ease of implementationEase of implementation –Configurability –Robustness Goals achieved GeneralityGenerality –Any model, any occluder –Occluder fusion Speed-upSpeed-up –Accelerate interactive graphics Ease of implementationEase of implementation –Configurability –Robustness

7/17/98 HZ Conclusion Main contributions: Problem decompositionProblem decomposition –Overlap tests and depth tests Occlusion representationsOcclusion representations –Occlusion maps –Depth Estimation Buffer –No-Backgrpund Z-Buffer Main contributions: Problem decompositionProblem decomposition –Overlap tests and depth tests Occlusion representationsOcclusion representations –Occlusion maps –Depth Estimation Buffer –No-Backgrpund Z-Buffer

7/17/98 HZ Conclusion Main contributions Hierarchical occlusion mapsHierarchical occlusion maps –Analysis of occlusion at multiple resolutions –High-level opacity estimation –Aggressive approximate culling –Levels of visibility The first occlusion culling algorithm for general models and interactive 3-D graphicsThe first occlusion culling algorithm for general models and interactive 3-D graphics Main contributions Hierarchical occlusion mapsHierarchical occlusion maps –Analysis of occlusion at multiple resolutions –High-level opacity estimation –Aggressive approximate culling –Levels of visibility The first occlusion culling algorithm for general models and interactive 3-D graphicsThe first occlusion culling algorithm for general models and interactive 3-D graphics

7/17/98 HZ Future Work Other implementations... PC’s and gamesPC’s and games –How much can be done in software? Integration into hardwareIntegration into hardware –More progressive updates to occlusion representation –Less conservative culling Wide-spread use of occlusion cullingWide-spread use of occlusion culling Other implementations... PC’s and gamesPC’s and games –How much can be done in software? Integration into hardwareIntegration into hardware –More progressive updates to occlusion representation –Less conservative culling Wide-spread use of occlusion cullingWide-spread use of occlusion culling