210 likes | 311 Views
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization B ased Approaches. Andreas Dietrich Computer Graphics Group, Saarland University Saarbrücken, Germany. Overview. Part I – Rasterization Based Approaches Visibility Culling Hierarchical Z-Buffer
E N D
Afrigraph 2004 Massive model visualizationTutorial A:Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University Saarbrücken, Germany
Overview • Part I – Rasterization Based Approaches • Visibility Culling • Hierarchical Z-Buffer • Hierarchical Occlusion Maps • Prioritized-Layered Projection • Simplification Techniques • LODs / HLODs, • Textured Depth Meshes • Existing Architectures • MMR • Gigawalk • iWalk State of the Art in Massive Model Visualization
Overview • Part I – Rasterization Based Approaches • Visibility Culling • Hierarchical Z-Buffer • Hierarchical Occlusion Maps • Prioritized-Layered Projection • Simplification Techniques • LODs / HLODs, • Textured Depth Meshes • Existing Architectures • MMR • Gigawalk • iWalk State of the Art in Massive Model Visualization
Visibility Culling • Large scenes often densely occluded • Only a fraction of the total dataset visible • Visibility culling • Try to find the visible seti.e. objects that contribute to the image • Goal: • Rejecting large parts of the scene before actual HSR • Reduce rendering cost to complexity of visible portion • Ideally output sensitive :Running time proportional to visible set size State of the Art in Massive Model Visualization
Visibility Culling • Culling techniques • View-frustumculling • Reject geometryoutside the viewingvolume • Back-faceculling • Reject geometryfacing away fromthe observer • Occlusionculling • Reject objectsoccluded by others State of the Art in Massive Model Visualization
Visibility CullingOcclusion Culling • Occlusion culling • Not as trivial as view-frustum or back-face culling • Often requires preprocessing • Usually involving some scene hierarchy • Occlusion tests performed top-down • Difference to Hidden surface removal (HSR) • Does not identify exact potion of visible polygons • Tries to identify objects not visible • Often exact HSR follows after culling step • However, distinction not that clear • Some HSR algorithms feature built-in occlusion cullinge.g. Ray casting (see Part II) State of the Art in Massive Model Visualization
Visibility CullingOcclusion Culling • Main classification [Cohen-Or 03] • From-point methods • Computation with respect to current viewpoint • Image precision variants: Operate on fragments • Object precision variants: Operate on raw objects • From-region methods • Bulk computations valid for a specific region • Cell-and-portal variants: Exploit scene characteristics • Generic scene variants: Work with arbitrary scenes State of the Art in Massive Model Visualization
Visibility CullingOcclusion Culling • Additional classification criteria [Cohen-Or 03] • Conservative vs. approximate techniques • Tightness of approximation • All objects vs. subset of occluders • Convex vs. generic occluders • Individual vs. fused occluders • 2D vs. 3D • Special hardware requirements • Need of precomputation • Dynamic scenes State of the Art in Massive Model Visualization
Visibility CullingHierarchical Z-Buffer • “Hierarchical Z-Buffer visibility” (Greene Sig93) State of the Art in Massive Model Visualization
Visibility CullingHierarchical Z-Buffer • Organize scene into an octree (a kind of spatial hierarchy) State of the Art in Massive Model Visualization
Visibility CullingHierarchical Z-Buffer • HZB algorithm : Make use of frame-to-frame coherence: – at start of each frame render the nodes that were visible in previous frame – read the z-buffer and construct the z-pyramid – traverse the octree using the z-pyramid for node occlusion test State of the Art in Massive Model Visualization
cost of scan-converting the faces of the octree cubes ——Z-pyramid Visibility CullingHierarchical Z-Buffer If the nearest Z value of the polygon is farther away than this sample in the Z pyramid, we know immediately that the polygon is hidden. State of the Art in Massive Model Visualization
Visibility CullingHierarchical Z-Buffer • Hierarchical Z-Buffer (HZB) [Greene 93] • Exploits object-space coherence: Octree subdivision • Exploits Image-space coherence: Z-pyramid • Exploits Temporal coherence: Frame to frame • Octree used for • View-frustum culling • Hierarchic top-down rendering / occlusion • Front-back rendering • Z-Pyramid • Use original Z-buffer as finest level • Combine 2x2 samples by choosing farthest Z value State of the Art in Massive Model Visualization
View X Point Y Z Visibility CullingHierarchical Occlusion Maps • Hierarchical Occlusion Map (HOM) [Zhang 97] Depth + Overlap = Occlusion State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps Blue parts: occluders Red parts: occludees State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps • Hierarchical Occlusion Map (HOM) [Zhang 97] • Pixels record opacity of screen space regions • Algorithm: • Select occluders:E.g. visible objects from previous frame • Render occluders and estimate depth Pure white pixels on black background 3. Building HOM: 4. HOM culling: Traverse the BVHs, do view frustem cull- -ing, then (1)using depth estimation buffer to do depth comparison, (2)overlap test with HOM State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps • Render occluders and estimate depth: • single z-plane: • Depth estimation buffer: software buffer • conservatively Construction: • traverse visible occluders in last frame • Constructed at each frame • Image space bounding rectangle and farthest depth of bounding volume • Update depth of pixel farther than the former depth State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps • Building HOM • At the finest level it’s just a bit map with – 1 where it is transparent and – 0 where it is opaque (occluded) • Higher levels are half the size in each dimension and store gray-scale values • Records average opacities for blocks of pixels • Represents occlusion at multiple resolutions State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps • HOM culling: for each occluder • Find hierarchy level with pixels approximately the samesize as screen-space object bounding box • Examine each pixel in map overlapping bounding rectangle:If all pixel completely opaque • Objects projection inside occluders • Z-test: • Single Z-plane behind all occluders • Depth estimation buffer(Z-planes for separate screen regions) Otherwise check next level for not completely opaque pixels • Use transparency threshold to terminate recursion • Render object using Z-buffer State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps City model with 312,524 polygons. Average speed-up obtained by our visibility culling algorithm is about five times. State of the Art in Massive Model Visualization
Visibility CullingHierarchical Occlusion Maps • Compared to HZB: State of the Art in Massive Model Visualization