Run-Time LOD Run-time algorithms may use static or dynamic LOD models:

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Lecture 4 (week 2) Source Coding and Compression
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE.
Terrain rendering in games
Honours Graphics 2008 Session 6. Today’s focus Terrain rendering Heightfield generation Level-of-detail for terrain.
1 Further Terrain Rendering and Level of Detail Lecture 8 - Week 4 Advanced Programming for 3D Applications CE
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Mesh Simplification Global and Local Methods:
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
CS-378: Game Technology Lecture #11: Visibility Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
10/14/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Level of Detail.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
Dynamic Meshing Using Adaptively Sampled Distance Fields
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Adaptive Display Algorithmfor Interactive Frame Rates.
10/23/2001CS 638, Fall 2001 Today Terrain –Terrain LOD.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
DPL2/10/2016 CS 551/651: Final Review David Luebke
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
3. Polygon Triangulation
Advanced Computer Graphics
Decimation Of Triangle Meshes
Terrain Level of Detail
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
User-Guided Simplification
Level of Detail: A Brief Overview
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
Craig Schroeder October 26, 2004
Greedy Algorithms Many optimization problems can be solved more quickly using a greedy approach The basic principle is that local optimal decisions may.
CS679 - Fall Copyright Univ. of Wisconsin
Visibility Preserving Terrain Simplification An Experimental Study
Text Categorization Berlin Chen 2003 Reference:
Chap 10. Geometric Level of Detail
Distributed Handling of large Level of Detail Surfaces
Presentation transcript:

Run-Time LOD Run-time algorithms may use static or dynamic LOD models: The run-time chooses one version of each object to display Static models offer a small, fixed number of possible models Typically 5-10 models, each half the resolution of the other Choice of model generally based on projected area or distance from viewer Dynamic models offer a (roughly) continuous space of models Possible to choose a model taking into account lighting, view direction, and other aspects of the scene Also distinguish global from object-based methods

Issues in Selecting a Model Two possible objectives: Cheapest rendering time within a given error bound Lowest error within a given rendering time Optimize the rendering time while keeping errors to a minimum For static models, objects are typically independent, so choose the cheaper version of each object that is within the error bounds For dynamic models, simplify/refine the model until the error bound is just met Optimize the error for fixed rendering time For static models, requires solving an NP-complete knapsack problem For dynamic models, choose the model with the target polygon count and the minimum error (assuming a global model)

Fixed Frame-rate Rendering Maintaining a near-constant frame rate may be important for some applications Evidence is sketchy, but large variations at low frame rates clearly cause problems Selection and interaction seem most dependent on frame rate Lag means the user must predict both the world’s behavior and the time it will take for their action to be processed Variable lag (variable frame rate) means the viewer can’t predict Note: average lag is at least 1.5 times frame time Simple algorithm Look at how long it took to render previous frames Extrapolate appropriate detail level for this frame Performs poorly when the scene changes suddenly

Approximate Bin Packing Funkhouser and Sequin 93 Associate a cost and a benefit with each possible representation of each object Maximize the benefit subject to a maximum cost Continuous multiple-choice knapsack problem – NP-complete Approximation algorithm can get within a factor of 2 of maximum benefit with low running time Define Value=Benefit/Cost Sort possible models based on Value, and insert highest Value model, removing higher detail versions if in the set A modified algorithm exploits coherence between frames by starting with previous set, and incrementing and decrementing detail level until finished

Dynamic LOD Methods Static LOD has some major problems: When switching from one LOD to another, it is difficult to avoid visual “popping” when the model changes in view Doesn’t work for large objects, where some part of the model may be very close and another part may be very far away (terrain!) Tends to require large numbers of small, distinct objects Dynamic LOD models avoid these difficulties: Models tend to change little from frame to frame, so changes can be easily blended Some parts of the model may be at high detail, while others are at low detail Works well with global simplification algorithms No need for a few discrete models, so can change model according to viewing direction or lighting or anything else

Basic Dynamic LOD Algorithm Build a tree of simplification/refinement operations Leaves are high-resolution triangles Each move up the tree corresponds to, for instance, an edge-collapse operation Similar to, for example, a quad-tree, but more general Each possible cut through the tree represents a possible model At run-time, find the best cut for the given view Coherence is exploited by starting at the previous frame’s cut, and making local changes in the tree Each edge out of the current set of rendered nodes represents a possible change to the model Rank each change, and repeatedly choose the change that either reduces the error the most (if more triangles can be rendered) or increases the error the least (if fewer triangles must be rendered)

More on Dynamic LOD The error change associated with an edge in the model tree can be measured in many ways: All the original geometric and attribute error metrics Can store the range of surface normal vectors associated with the sub-tree rooted at a node If set of normal vectors includes the specular direction, refine If the set of normal vectors are all back-facing, then possibly simplify If some normals are back and some are front, then it may be a silhouette, so maybe refine Rendering algorithms interact with the hardware Fastest rendering from retained mode graphics (display lists) Dynamic algorithms make retained mode impractical Next fastest from long triangle strips Can enhance algorithms to maintain strips as they manipulate nodes

Terrain LOD Many applications: Flight and other simulations Computer games (a recent trend – game developers have only recently found these algorithms) Geographic information systems Terrain data has several key properties: Typically defined by a dense, regular grid of height values Typically covers a very large area, only a small part of which is near the viewer (close to the ground) Things other than rendering are important: Height queries for navigation and control Sight lines may be very important

Static Algorithms Garland and Heckbert 95 Goal: Find a subset of all the sample points such that, when triangulated, some error metric is minimized Error metrics: Local error – minimize the maximum vertical error, performs well Curvature – minimize the maximum difference in curvature, not so good Underlying idea: cliffs and other sharp features are important Global error – sum local errors, surprisingly poor Mixtures – weighted sums of other metrics, not so good No viewer dependent metrics – aim is to generate a single approximating terrain Run-time is trivial – just render the triangulated mesh

Greedy Delaunay Algorithm Maintain a Delaunay triangulation of the current subset Avoids slivers (long thin triangles), but does not take height into account Add each step: Find the sample point with greatest error according to the current triangulation Add that point and re-triangulate (efficient ways to do this) Update errors for affected points Problems: Cannot adapt to the viewer’s location at run-time OK for flight simulators where the viewer is far from the ground Basic problem is that irregular sampling requires more work to maintain

Dynamic Algorithms All based on same basic idea Build a regular tree structure over the point set and render a cut Store information about errors at the nodes of the tree to speed up computation Project errors according to the viewer to visible error Variation among algorithms is in: Nature of tree structure, which has a major impact on everything else Error metrics supported The optimality criteria: best mesh for given error (easiest) or best error for given mesh size The ease of implementation

ROAMing Terrain Duchaineau et. al., 1997 Probably the best algorithm so far, optimal mesh in some cases Uses a triangle bintree data structure Removes many problems with crack avoidance at boundaries between sub-trees At each node, store associated vertical error Two priority queues: Split queue storing potential splits and associated error reduction Merge queue storing potential merges and associated error increase For each frame, split or merge until the desired error/complexity is reached and the queues don’t overlap. Stop early if time runs out Enhancements (important!): Delay priority updates, maintain triangle strips, cull to view frustum Other error metrics: Refine under vehicles, ensure correct lines of sight