1 / 40

Run-Time Management for LOD

Run-Time Management for LOD. Run-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

cala
Download Presentation

Run-Time Management for LOD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Run-Time Management for LOD

  2. Run-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

  3. Selection 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

  4. Discrete (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.

  5. Hierarchical 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

  6. Continuous 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

  7. Continuous LOD Example “Progressive meshes” Hoppe (Microsoft)

  8. View-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)

  9. Selection 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

  10. d1 d2 Distance 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

  11. Size 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

  12. Environmental Conditions • Slacken LOD thresholds through use of fog, haze, clouds, smoke, etc. • Only useful if these make sense! Images from www.benchmark.pl

  13. Silhouette 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)

  14. Occlusion 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/

  15. Specular 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.

  16. Gaze-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

  17. Gaze-Directed Example “Gaze-directed Adaptive Rendering” Ohshima, Yamamoto, and Tamura (Canon Inc.)

  18. Attention-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)

  19. Shadow 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

  20. Shader 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/whitepaper.pdf

  21. Simulation LOD Example “Modeling Hair Using LOD Representations” Ward, Lin, Lee, Fischer, and Macri (UNC)

  22. Popping 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

  23. Hysteresis • A lag in the switch between LODs • Reduce scintillating effect of models continuously switching at threshold • ~10% of switch range is “good enough”

  24. Priority 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)

  25. Alpha-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

  26. Geomorphs • 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

  27. Geomorphs Example “Progressive Meshes” Hoppe (Microsoft)

  28. Frame 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

  29. Frame 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

  30. Reactive 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

  31. Predictive 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

  32. Predictive 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

  33. C1Poly(O,L) + C2Vert(O,L) C3Pix(O) Cost(O,L,R) = max Predictive 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

  34. Predictive Fixed Frame Rate Hierachical LOD Discrete LOD “Automatic Hierarchical LOD Optimization in Animation” Mason and Blake (U. Cape Town)

  35. Predictive Fixed Frame Rate • Gobbetti & Bouvier (1999) extend the Cost Benefit model to Continuous LOD MaximiseBenefit(W, S(r)) Subject toCost(W, S(r))  TargetFrameRate • Defined for a set of multiresolution objects S at resolutions r (0..1) • W = viewing configuration (camera & lights)

  36. Predictive 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

  37. Summary • 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)

  38. End of Presentation End of Presentation

  39. Occlusion LOD Example “Modeling Hair Using LOD Representations” Ward, Lin, Lee, Fischer, and Macri (UNC)

  40. Image-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)

More Related