This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Visibility Culling
Computer Science Department
University of Virginia
<[email protected]> Motivation
• • Like most other rendering acceleration techniques, the goal is to avoid rendering redundant geometry
The basic idea: don’t render what can’t be seen
– Offscreen: viewfrustum culling
– Occluded by other objects: occlusion culling
• The obvious question: why bother?
– Offscreen geometry: solved by clipping
– Occluded geometry: solved by Zbuffer • The (obvious) answer: efficiency – Clipping and Zbuffering take time linear to the number of primitives
D3 The Goal
• Our goal: quickly eliminate large portions of the scene which will not be visible in the final image
– Not the exact visibility solution, but a quickanddirty conservative estimate of which primitives might be visible
• Zbuffer& clip this for the exact solution – This conservative estimate is called the potentially visible set or PVS
D4 Visibility Culling
• The remainder of this talk will cover:
– Viewfrustum culling (briefly)
– Occlusion culling in architectural environments – General occlusion culling D5 ViewFrustum Culling
• An old idea (Clark 76): – Organize primitives into clumps
– Before rendering the primitives in a clump, test a bounding volume against the view frustum
• • If the clump is entirely outside the view frustum, don’t render any of the primitives
If the clump intersects the view frustum, add to PVS and render normally
D6 Efficient ViewFrustum Culling
• How big should the clumps be?
– Choose minimum size so:
cost testing bounding volume << cost clipping primitives
– Organize clumps into a hierarchy of bounding volumes for more efficient testing
• If a clump is entirely outside or entirely inside view frustum, no n...
View Full Document
This note was uploaded on 12/09/2011 for the course CS 561/661 taught by Professor Lubke during the Summer '11 term at Virginia Tech.
- Summer '11
- Computer Graphics