LODManager

advertisement
LODManager
A framework for rendering
multiresolution models in
real-time applications
J. Gumbau
O. Ripollés
M. Chover
Introduction
• LOD techniques are important on highly populated
scenes.
• Continuous multiresolution methods reduce popping
– But extracting a LOD has a cost (extracting overhead)
• Use of CLOD on massive scenes without control:
– Is completely inefficient
– Drastically reduces interactivity
• Our aim: manage efficiently the LOD of those
scenes.
Previous work
• Solutions to the LOD management problem:
– Methods based on static heuristics:
• Static metric: distance or screen-space area
• Easy and cheap to evaluate
• Not adaptive and unstable frame rates
– Methods based on feedback algorithms:
• Good when there’s coherence between frames
• Present oscillations on discontinuous environments
– Methods based on predictive algorithms:
• Very accurate but has a great computational cost
• Scenes with lots of objects can become too slow
• They are inefficient solutions on massive scenes
Motivation
• Nowadays GPUs are extremely powerful
but very delicate:
– Overload the CPU can become a bottleneck
– Change GPU data can cause a stall
• Our aim is to create a CLOD manager for
massive scenes which:
– Minimizes CPU time used to decide the LOD
for each object
– Minimizes GPU data changes
Method overview
• We present a method which:
– Is designed for massively populated scenes
• with thousands of dynamic objects
– Has very low CPU requirements
• to keep the bottleneck on the GPU
– Provides frame rate feedback
• to globally adjust the LOD of the scene
– Is based on sharing already calculated LODs
• to minimize GPU data changes
• minimize CPU usage
Method details
• The user defines a set of n LOD slots
– This is called the LOD snapshots list
– A slot i refers to an object with a certain level of detail.
• If an object must change it’s LOD:
– If another object changed to a similar LOD:
• Borrow its already calculated level of detail
– Otherwise, calculate its own level of detail
• And insert itself into the LOD snapshot’s list
Method improvements
• Use a non-linear distributed LOD snapshots list
– So nearer objects will have higher LOD granularity
– Makes less perceptible discretization artifacts
Feedback
• LOD factor is calculated using a static metric
• Uses frame rate feedback to globally adjust LOD
– Uses a perturbation function
The perturbation parameter n
depends on the difference
between the real and the
desired LOD
Test and Results
• Test scene: 3000 LOD objects
The graph shows a CPU bottleneck when the
LOD Manager is disabled.
time
Conclusions
• Efficient LOD management on massive scenes
– Algorithm with very low CPU requirements:
• Cost of querying and borrowing a similar LOD is negligible
• Drastically optimizes real changes in levels of detail
– LOD Borrowing minimizes GPU updating
• reduces unnecessary GPU stalls
• optimizes bus traffic
• Drawback: Dynamic LOD discretization of a
multiresolution model, but:
– Has less memory consumption
– The number of virtual discretizations is user defined
– The system can decide whether to borrow or not?
Any questions?
Download