lodmanager a framework for rendering multiresolution models in real-time applications j. gumbau o....
TRANSCRIPT
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?