1 / 15

Hierarchical Occluders for Interactive Rendering of Large Models

Hierarchical Occluders for Interactive Rendering of Large Models. Avneesh Sud. Motivation. The Dream of “Viewing the Double Eagle at 20 fps in ‘good’ fidelity”. Occlusion Culling. Hidden Surface Removal methods are not fast enough for massive models on current hardware

jag
Download Presentation

Hierarchical Occluders for Interactive Rendering of Large Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hierarchical Occluders for Interactive Rendering of Large Models Avneesh Sud COMP236

  2. Motivation • The Dream of “Viewing the Double Eagle at 20 fps in ‘good’ fidelity” COMP236

  3. Occlusion Culling • Hidden Surface Removal methods are not fast enough for massive models on current hardware • Occlusion Culling avoids rendering primitives that are occluded by another part of the scene • Occlusion Culling techniques are ideally output sensitive – runtime is proportional to the size of exact visibility set COMP236

  4. Related Work • Hierarchical Z-Buffer • Image space occlusion culling method [Greene’93] • Build a layered Z-pyramid with a different resolution of the Z-buffer at each level • Allows quick accept/reject • Hierarchical LODs • Simplification Culling : Approximate entire branch of the scene graph by an HLOD • Can we use HLODs as occluders/occludees? COMP236

  5. Parallel Occlusion Culling • Bill Baxter’s idea of using separate pipelines for occlusion tests and rendering [Spring 2000] • Use the HZB for rendering acceleration COMP236

  6. Hierarchical Parallel Occlusion Culling • Build an HLOD representation of the model and find a set of hierarchical occluders for culling • Build a HZB from the hierarchy of occluders in the occlusion pipeline • Test the objects against the HZB and pass the visible nodes to the rendering pipeline for displaying at the appropriate LOD COMP236

  7. HPOC System • 4 Threads • Software Culling • Hardware Culling • Display • Load • LOD selection on pixel error • Display and Culling threads in synch or asynch modes COMP236

  8. HPOC System Coarse HZB Coarse HZB All Nodes Camera VFC VFC SW Culler Occlusion Pipeline Maybe Occluded Visible Build HZB HW Culler Histogram Test Z-Buffer Visible Nodes Renderer Display Pipeline Render COMP236

  9. Partitioning • Repartition the model for better visibility coherence – Karl Hillesland [Fall 00] • Worked well with small disconnected objects (e.g. split Double Eagle) • Fixed bug to work with connected meshes COMP236

  10. Partitioning Even then – splits could be lopsided… Torpedo Room Leaf Object : 232627 faces of 705917 Try splitting across different axes if a split across the longest axis fails ! COMP236

  11. Constructing the Scene Graph • Build an AABBTree hierarchy • Create HLODs from geometry at leaf nodes • Use GAPS to simplify geometry at each node • Need better terminating conditions for GAPS COMP236

  12. Scene Graph AABBTree While the partitioning is smart, AABBTree subdivides across longest axis Rightmost leaf node of the AABBTree : Most of the geometry inside the shell is grouped into 1 node. Use a different partitioning hierarchy COMP236

  13. Occluder/Occludee Selection Currently use same nodes for culling and display Bad Occludee Selection Close up top view of the double eagle : HPOC is rendering 323 objects and 160k polygons while there are 4 objects and 370 polygons visible. COMP236

  14. Further Work • Better partitioning, HLOD construction • Memory management • Using coarser HLOD occlusion bounding volumes, finer LODs for occludee selection • Timing Analysis COMP236

  15. Lessons • Working with massive models is a pain • Multithreaded massive model rendering is a bigger pain • Good Occlusion Culling is a tough problem COMP236

More Related