CS679 - Fall Copyright Univ. of Wisconsin

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

Surface Simplification using Quadric Error Metrics Guowei Wu.
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.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
5/1/2000Deepak Bandyopadhyay / UNC Chapel Hill 1 Extended Quadric Error Functions for Surface Simplification Deepak Bandyopadhyay COMP 258 F2000 Project.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Mesh Simplification Global and Local Methods:
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Projective Texture Atlas for 3D Photography Jonas Sossai Júnior Luiz Velho IMPA.
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.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
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
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
CS 638, Fall 2001 Multi-Pass Rendering The pipeline takes one triangle at a time, so only local information, and pre-computed maps, are available Multi-Pass.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Adaptive Display Algorithmfor Interactive Frame Rates.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
10/23/2001CS 638, Fall 2001 Today Terrain –Terrain LOD.
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
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
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)
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.
A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.
Applications and Rendering pipeline
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
- Introduction - Graphics Pipeline
Real-Time Soft Shadows with Adaptive Light Source Sampling
Week 7 - Monday CS361.
Advanced Computer Graphics
POLYGON MESH Advance Computer Graphics
Terrain Level of Detail
CS Computer Graphics II
Deferred Lighting.
Haim Kaplan and Uri Zwick
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
CS451Real-time Rendering Pipeline
2.1. Collision Detection Overview.
© University of Wisconsin, CS559 Fall 2004
Domain-Modeling Techniques
© University of Wisconsin, CS559 Spring 2004
Craig Schroeder October 26, 2004
Chapter V Vertex Processing
CS679 - Fall Copyright Univ. of Wisconsin
CS679 - Fall Copyright Univ. of Wisconsin
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Clustering.
Presentation transcript:

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Last Time Visibility 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Today Level of Detail Overview LOD Switching LOD Selection Creating LODs 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Level of Detail (LOD) When an object is close to the viewer, we want a high resolution model Maybe thousands of polygons, high-resolution textures When an object is a long way away, it maps to relatively few screen pixels, so we want a low resolution model Maybe only a single polygon, or tens of polygons Level of Detail (LOD) techniques draw models at different resolutions depending on their relevance to the viewer Covers both the generation of the models and how they are displayed A large research topic – only a small part of it in this class 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin LOD Models (I) 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin LOD Models (II) 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin LOD Models (3) Note that effect of LOD is less obvious if smooth shaded Note also that shading changes with LOD 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Standard LOD The current standard for LOD in games is to use a finite set of models Models may be hand generated or come from automatic decimation or simplification of the base mesh (highest resolution) Models are switched based on the distance from the object to the viewer, or projected screen size Better metric is visual importance, but it is harder to implement For example, objects that the viewer is likely to be looking at have higher resolution, objects at periphery have lower resolution 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin LOD Sub-problems LOD Generation: Creating the different resolutions Best method is to do it by hand Otherwise, automatic simplification algorithms, of which there are many Selection: Choosing which model to display Simple per-object methods, like distance Complex global methods for optimizing cost/benefit Switching: Moving from one resolution to the next without artifacts Just pop between them Various blending methods 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin LOD Switching The biggest issue with switching is popping, the sudden change in visual appearance as the models are swapped Particularly poor if the object is right at the switching threshold – may flicker badly There are several options: Leave the popping but try to avoid flicker Show a blended combination of two models, based on the distance between the switching points Image blend – e.g. render both models for a transition period Geometric blend – define a way to geometrically morph from one model to the next, and blend the models Have more models that are so similar that the popping is not evident 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Selecting LOD Models For any given frame, we have to decide which model to display for each object Assume that we have a discrete set of models for each object, at varying resolutions Option 1: Choose each model for each object independently based on some error tolerance Typically assume error depends on distance from viewer or similar The current standard practice: fast, simple Potential problem: You still might have too many polygons, in total Option 2: Choose a number of polygons you can display, and find a set of models that lead to minimum error Ensures near constant frame rate, but harder to implement 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Switching Thresholds Distance: Simply compute the distance from the viewer to a representation point on (in) the object Projected Area for spherical bounds Store the “radius” of the object Compute distance in viewing direction Scale by near clip plane distance (why?) Estimated projected area is: Projected area for bounding cubes have a different method Can also use same projected area estimator used to select occluders 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Hysteresis Thresholds The aim is to avoid rapid popping if the object straddles the threshold for switching Define two thresholds for each switch, distance as the metric One determines when to improve the quality of the model The other determines when to reduce it The reduction in quality threshold should be easier to meet than the increase threshold If the object is between the thresholds, use the same LOD as on the previous frame 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Hysteresis Illustration Say there is an object that repeatedly jumps from one position to a nearer one and then back again How far must it jump to exhibit popping? One way to think about it: If you’re on one level, you can only ride the arrows to the next level LOD Tincrease Tdecrease Distance 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Fixed Cost Rendering Independent model selection causes problems if the scene complexity varies greatly Consider a chair object: The amount of detail you can use in a classroom is different to that in a lecture hall In games, biggest problem is in character rendering: You may be facing two or twenty enemies at any time Typically reduce detail to make sure that the worst case is tractable Adversely affects quality of best case Solutions are algorithms that fix the cost and find the best set of models to meet that cost 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Approximate Bin Packing Funkhouser and Sequin 93 Assign a cost and a benefit with each model of each object Cost: based on test renderings, or just polygon count Benefit: metric based on projected area, or center of screen, or “importance” Maximize the benefit subject to a maximum total cost Continuous multiple-choice knapsack problem – NP-complete Approximation algorithm can get within a factor of 2 of maximum benefit with low running time… 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Selection Algorithm Define Value=Benefit/Cost Keep possible models sorted on Value Repeatedly choose highest Value model that increases cost Removing higher detail versions if in the set Stop when cost exceeded A modified algorithm exploits coherence between frames Starting with previous set Increment and decrement detail level until finished More on these types of algorithms later for terrain LOD 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Fix Cost Example Target Cost: 2000 Final Set: 1a, 2c, 3a Note: As stated, some objects may not be drawn (e.g.. if cost was 1000, object 2 would not be drawn) 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Mesh Simplification Take a high resolution base mesh and approximate it while retaining its visual appearance Desirable properties: Fast (although not real-time) Generates “good” approximations in some sense Handles a wide variety of input meshes Allows for geometric blending from one mesh to another Two essential questions: What operations are used to reduce the mesh complexity? How is “good” measured and used to guide the approximation? 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Mesh Operations Operations seek to eliminate triangles while maintaining appearance Key questions: What does the operation do? Can it connect previously unconnected parts of the mesh? Does it change the mesh topology? How much does it assume about the mesh structure? Must the mesh be manifold (locally isomorphic to a disc)? Can it handle, or does it produce, degenerate meshes? Can it be construed as a morph? Can it be animated smoothly? 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Vertex Clustering Partition space into cells grids [Rossignac-Borrel], spheres [Low-Tan], octrees, ... Merge all vertices within the same cell triangles with multiple corners in one cell will degenerate Slide courtesy Michael Garland, http://graphics.cs.uiuc.edu/~garland 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Vertex Decimation Starting with original model, iteratively rank vertices according to their importance select unimportant vertex, remove it, retriangulate hole A fairly common technique Schroeder et al, Soucy et al, Klein et al, Ciampalini et al Slide courtesy Michael Garland, http://graphics.cs.uiuc.edu/~garland 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Iterative Contraction Contraction can operate on any set of vertices edges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively rank all edges with some cost metric contract minimum cost edge update edge costs Slide courtesy Michael Garland, http://graphics.cs.uiuc.edu/~garland 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Edge Contraction Single edge contraction (v1,v2)  v’ is performed by moving v1 and v2 to position v’ replacing all occurrences of v2 with v1 removing v2 and all degenerate triangles v’ v2 v1 Slide courtesy Michael Garland, http://graphics.cs.uiuc.edu/~garland 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Vertex Pair Contraction Can also easily contract any pair of vertices fundamental operation is exactly the same joins previously unconnected areas can be used to achieve topological simplification Slide courtesy Michael Garland, http://graphics.cs.uiuc.edu/~garland 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

Operations to Algorithms A single operation doesn’t reduce a mesh! Most common approach is a greedy algorithm built on edge contractions (iterative edge contractions): Rank each possible edge contraction according to how much error it would introduce Contract edge that introduces the least error Repeat until done Does NOT produce optimal meshes An optimal mesh for a given target number of triangles is the one with the lowest error with respect to the original mesh Finding the optimal mesh is NP-hard (intractable) 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin

CS679 - Fall 2003 - Copyright Univ. of Wisconsin Todo By Monday, Oct 13, Stage 2 demo 10/09/03 CS679 - Fall 2003 - Copyright Univ. of Wisconsin