Title: RunTime Management for LOD
1Run-Time Management for LOD
2Run-Time Issues
- LOD Framework
- discrete, continuous, view-dependent, imposters
- Selection Criteria
- distance, size, environment, gaze
- Popping Prevention
- hysteresis, geomorphs, alpha-blending
- Frame Rate Management
- free v fixed frame rate
- Resource Management
- out of core, network streaming
3Selection Criteria
- LOD Framework
- discrete, continuous, view-dependent, imposters
- Selection Criteria
- distance, size, environment, gaze
- Popping Prevention
- hysteresis, geomorphs, alpha-blending
- Frame Rate Management
- free v fixed frame rate
- Resource Management
- out of core, network streaming
4Discrete (aka Static) LOD
- Model each object at several resolutions
- Very simple run-time just switch models
- Can compile models into display lists
- Can use imposters for lower LODs
- Cannot vary resolution over a model
- May not scale well to large object nos.
5Hierarchical LOD
- Group Discrete LODs into a hierarchy
- e.g., neighborhood ? city block ? building
- Better scalability for large structured models
Images from University of Stuttgart, Institute
for Photogrammetry
6Continuous LOD
- Sequence of edge collapse / vertex splits
- aka Progressive Meshes (PM)
- Run-time manages verts/polys not models
- Allows fine control over changes in LOD
- Supports progressive transmission
7Continuous LOD Example
- Progressive meshes
- Hoppe (Microsoft)
8View-Dependent LOD
- Selective refinement of continuous LOD
- more detail toward viewpoint (for terrain)
- more detail following a path (line of sight)
- David will talk more about this later...
Images from Hoppe (1997)
9Selection Criteria
- LOD Framework
- discrete, continuous, view-dependent, imposters
- Selection Criteria
- distance, size, environment, gaze
- Popping Prevention
- hysteresis, geomorphs, alpha-blending
- Frame Rate Management
- free v fixed frame rate
- Resource Management
- out of core, network streaming
10Distance LOD
- Select resolution based upon the distance between
an element and the viewpoint, i.e. coarser
resolution for distant geometry. - Simple to calculate (3-D Euclidean distance)
- Scale dependent
- Resolution dependent
- Field of View dependent
11Size LOD
- Select resolution based upon the projected screen
size (or area) of an element. Objects appear
smaller as they move further away. - Requires 3-D to 2-D projection
- Scale invariant
- Resolution invariant
- Field of View invariant
- Bounding spheres or ellipsoids normally used
instead of boxes as more efficient to calculate
projected extent
12Environmental Conditions
- Slacken LOD thresholds through use of fog, haze,
clouds, smoke, etc. - Only useful if these make sense!
Images from www.benchmark.pl
13Silhouette Preservation
- Human visual system sensitive to edges
- So, put more detail around silhouettes
- Test if view-to-face vector and face normal are
orthogonal (use cone of normals)
From Luebke Erikson (1997)
14Occlusion LOD
- Reduce LOD for parts of a model that are obscured
by other objects in the current view frustum - Of course, can also use cull entire objects that
are occluded too
Images from http//www.cs.unc.edu/geom/HSLOD/
15Specular Highlights
- Lower LODs affect lighting
- Particularly apparent at specular highlights
- Put more detail at these points to maintain
fidelity - Xia Varshney (1996)
- Techniques exist to do this for textured lit
models - Luebke et al.
16Gaze-Directed
- Velocity
- Retina less sensitive to rapidly moving objects
- Eccentricity
- Less sensitivity in our peripheral field
- Depth-of-Field
- Objects blur outside eyes fusional distance
- However require eye-tracking, or head-tracking,
or make gaze assumptions
17Gaze-Directed Example
- Gaze-directed Adaptive Rendering
- Ohshima, Yamamoto, and Tamura (Canon Inc.)
18Attention-Directed
- Work out where the user is likely to be looking
using models of visual attention - Image-based (e.g., motion spatial freq)
- Model-based
- Or, control where the user looks through the
dramatic content of your scenes
Image from H. Yee (2001)
19Shadow LOD
- Use different shadow techniques
- Use lower LOD models for silhouette texture
- Use pre-generated generic texture
- Multiple passes used softer shadows do fewer
- Reduce off-screen rendering buffer size for
multipass
12.0 Hz
10.1 Hz
3.0 Hz
Images by OpenWorlds Inc
20Shader LOD
- Procedural shaders that can adjust their detail
- Bump map to texture map
- Texture map or noise function to single color
- Multi textures to one texture
- BRDF approximations
Image from http//www.sgi.com/software/shader/whit
epaper.pdf
21Simulation LOD Example
- Modeling Hair Using LOD Representations
- Ward, Lin, Lee, Fischer, and Macri (UNC)
22Popping Prevention
- LOD Framework
- discrete, continuous, view-dependent, imposters
- Selection Criteria
- distance, size, environment, gaze
- Popping Prevention
- hysteresis, geomorphs, alpha-blending
- Frame Rate Management
- free v fixed frame rate
- Resource Management
- out of core, network streaming
23Hysteresis
- A lag in the switch between LODs
- Reduce scintillating effect of models
continuously switching at threshold - 10 of switch range is good enough
24Priority Schemes
- Assign priorities to each object
- Reduce high priority objects less
- Account for semantic importance of certain
objects, e.g., walls, players, etc.
Image from Funkhouser (1993)
25Alpha-Blending
- Blend between LODs in image space
- Means rendering 2 LODs in fade range
- Can fade over time or distance range
- Render two images as opaque then blend, or may
get self-occlusions
Image from OpenGL Performer Getting Started Guide
26Geomorphs
- Blend between LODs in geometry space
- Morph vertices vu and vt toward vs
- Specify frames or time to morph over
- Support for geomorphs in Unreal engine
27Geomorphs Example
- Progressive Meshes
- Hoppe (Microsoft)
28Frame Rate Management
- LOD Framework
- discrete, continuous, view-dependent, imposters
- Selection Criteria
- distance, size, environment, gaze
- Popping Prevention
- hysteresis, geomorphs, alpha-blending
- Frame Rate Management
- free v fixed frame rate
- Resource Management
- out of core, network streaming
29Frame Rate Management
- High, constant frame rates are important for
interactive 3D games LOD can help - Adjust LODs further to maintain budget Hz
- Reactive Fixed Frame Rate
- Adjust priorities based on previous frame rate
- Predictive Fixed Frame Rate
- Adjust priorities to meet budget on this frame
30Reactive Fixed Frame Rate
- Adjust LODs based on previous Hz
- calculate frame rate for previous frame
- compare to desired frame rate for this frame
- adjust LODs to be displayed accordingly
- Does not guarantee fixed frame rate
- Will over/undershoot when there are large changes
in complexity between frames - Used by OpenGL Performer
31Predictive Fixed Frame Rate
- Funkhouser Séquin - SIGGRAPH 1993
- Predictive fixed frame rate for Discrete LOD
- Achieves a bounded fixed frame rate ( ?)
- Based on a constrained optimization of
- Maximize ?s Benefit(Object, Lod, Algorithm)
- Subject to ?s Cost(Object, Lod, Algorithm) ?
TargetFrameRate - Equiv. to NP Complete Knapsack problem
- But a simple greedy algorithm can get within 50
of the optimal solution
32Predictive Fixed Frame Rate
Benefit(O,L,R) Size(O) Accuracy(O,L,R)
Importance(O) Focus(O) Motion(O)
Hysteresis(O,L,R)
- Benefit contribution to model perception
- Size larger objects contribute more to image
- Accuracy no of verts/polys, shading model, etc.
- Priority account for inherent importance
- Eccentricity distance from center of display
- Velocity ratio of apparent speed to avg polygon
size - Hysteresis use state from previous frame
- Assign LOD benefits by hand
33Predictive Fixed Frame Rate
- Cost assumes a 2-stage pipelined rendering
- per-primitive (coordinate transforms, lighting,
clipping) - per-pixel (rasterization, Z-buffering,
alpha-blend, texturing) - One of these will be the bottleneck, therefore
cost is the largest of both - Required profiling the target platform first to
instantiate the C1, C2, and C3 constants
34Predictive Fixed Frame Rate
Hierachical LOD
Discrete LOD
Automatic Hierarchical LOD Optimization in
Animation Mason and Blake (U. Cape Town)
35Predictive Fixed Frame Rate
- Gobbetti Bouvier (1999) extend the Cost Benefit
model to Continuous LOD - Maximise Benefit(W, S(r))
- Subject to Cost(W, S(r)) ? TargetFrameRate
- Defined for a set of multiresolution objects S at
resolutions r (0..1) - W viewing configuration (camera lights)
36Predictive Fixed Frame Rate
- Cost time to render scene of objects at
resolutions r given viewing params W. - Includes terms to model
- Graphics initialization phase (e.g., clearing the
Z-buffer and setting up initial state) - Sequential rendering of each object
- Finalization phase (e.g., buffer swapping)
cost(W, S(r)) Tinit Tfinal ? Tisetup tmax
. r
37Summary
- We covered
- Various run-time LOD frameworks
- Lots of ways to modulate LOD not just distance
- Techniques to cover up popping effects
- Fixed frame rate systems
- Later you will learn more about
- view-dependent simplification
- resource management (e.g., out-of-core)
38End of Presentation
End of Presentation
39Occlusion LOD Example
- Modeling Hair Using LOD Representations
- Ward, Lin, Lee, Fischer, and Macri (UNC)
40Image-Based LOD
- Render each LOD off-screen and analyze images to
decide which parts of the model to simplify
- Guides simplification based upon the visual
effect of the reduction rather than some
geometric metric - Uses a sphere of cameras to capture multiple
viewpoints - Deals with surface properties and textures
- Uses RMS error of luminances to compute image
distances (fast but not perceptually based) - Not real-time yet (several secs to mins or hours)