Hierarchical Occluders for Interactive Rendering of Large Models - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Hierarchical Occluders for Interactive Rendering of Large Models

Description:

Occlusion Culling avoids rendering primitives that are occluded by another part of the scene. Occlusion Culling techniques are ideally output sensitive runtime is ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 16
Provided by: wwwxC
Category:

less

Transcript and Presenter's Notes

Title: Hierarchical Occluders for Interactive Rendering of Large Models


1
Hierarchical Occluders for Interactive Rendering
of Large Models
  • Avneesh Sud

2
Motivation
  • The Dream of Viewing the Double Eagle at 20 fps
    in good fidelity

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

4
Related Work
  • Hierarchical Z-Buffer
  • Image space occlusion culling method Greene93
  • 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?

5
Parallel Occlusion Culling
  • Bill Baxters idea of using separate pipelines
    for occlusion tests and rendering Spring 2000
  • Use the HZB for rendering acceleration

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

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

8
HPOC System
Coarse HZB
Coarse HZB
All Nodes Camera
VFC
VFC
SW Culler
Maybe Occluded
Visible
Build HZB
Occlusion Pipeline
HW Culler
Histogram Test
Z-Buffer
Visible Nodes
Renderer
Display Pipeline
Render
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

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 !
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

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
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.
14
Further Work
  • Better partitioning, HLOD construction
  • Memory management
  • Using coarser HLOD occlusion bounding volumes,
    finer LODs for occludee selection
  • Timing Analysis

15
Lessons
  • Working with massive models is a pain
  • Multithreaded massive model rendering is a bigger
    pain
  • Good Occlusion Culling is a tough problem
Write a Comment
User Comments (0)
About PowerShow.com