10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.

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
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
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.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
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.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Mesh Simplification Katja Bühler Mathematische Methoden der Computergraphik Slides stolen from: John C. Hart Who has the slides stolen from: Michael Garland.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
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.
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.
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.
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.
CS 638, Fall 2001 Today Project Stage 0.5 Environment mapping Light Mapping.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
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.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Scalable, High-Quality Mesh Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric Shaffer University.
12/4/2001CS 638, Fall 2001 Today Managing large numbers of objects Some special cases.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Simplifying Polygonal Surfaces with Quadric Error Metrics Michael Garland University of Illinois at Urbana-Champaign November 1999 Michael Garland University.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
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.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
CS418 Computer Graphics John C. Hart
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
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.
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
Level of Detail: Generating LODs David Luebke University of Virginia.
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.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Advanced Computer Graphics
Decimation Of Triangle Meshes
CS Computer Graphics II
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching

10/02/2001CS 638, Fall 2001 Level of Detail (LOD) When an object is close to the viewer, we want a high resolution model –Maybe thousands of polygons, high-res 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 very active research topic, so only a small part of it in this class

10/02/2001CS 638, Fall 2001 LOD Models (I)

10/02/2001CS 638, Fall 2001 LOD Models (II)

10/02/2001CS 638, Fall 2001 Standard LOD The current standard for LOD in games is to use a finite set of models –Typically aim for models with n, n/2, n/4, … polygons –Models may be hand generated or come from automatic decimation 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 –Textbook Ch 4.9 has another switching factor - Magnification

10/02/2001CS 638, Fall 2001 Mesh Decimation 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 geomorphs - 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/02/2001CS 638, Fall 2001 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/02/2001CS 638, Fall 2001 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,

10/02/2001CS 638, Fall 2001 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,

10/02/2001CS 638, Fall 2001 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,

10/02/2001CS 638, Fall 2001 Edge Contraction Single edge contraction (v 1,v 2 )  v’ is performed by –moving v 1 and v 2 to position v’ –replacing all occurrences of v 2 with v 1 –removing v 2 and all degenerate triangles v1v1 v1v1 v2v2 v2v2 v’ Slide courtesy Michael Garland,

10/02/2001CS 638, Fall 2001 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,

10/02/2001CS 638, Fall 2001 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/02/2001CS 638, Fall 2001 Error Metrics The error metric measures the error introduced by contracting an edge –Should be low for edges whose removal leaves mesh nearly unchanged What is an example of an edge that can be removed without introducing any error? Issues: –How well does it measure changes in appearance? –How easy is it to compute? Subtle point: Error should be measured with respect to original mesh, which can pose problems –Can it handle color and other non-geometric attributes?

10/02/2001CS 638, Fall 2001 Measuring Error With Planes An edge contraction moves two vertices to a single new location Measure how far this location is from the planes of the original faces 2D examples (planes are lines): Low error High error

10/02/2001CS 638, Fall 2001 Which Planes? Each vertex has a (conceptual) set of planes –Error  sum of squared distances to planes in set –Each plane given by normal, n i, and distance to origin, d i Initialize with planes of incident faces –Consequently, all initial errors are 0 When contracting pair, use plane set union –planes(v’) = planes(v 1 )  planes(v 2 )

10/02/2001CS 638, Fall 2001 The Quadric Error Metric Given a plane, we can define a quadric Q measure squared distance to the plane as

10/02/2001CS 638, Fall 2001 The Quadric Error Metric Sum of quadrics represents set of planes Each vertex has an associated quadric –Error(v i ) = Q i (v i ) –Sum quadrics when contracting (v i, v j )  v’ –Error introduced by contraction is Q (v’)

10/02/2001CS 638, Fall 2001 Where Does v’ Belong? Choose the location for v’ that will minimize the error introduced Alternative is to use fixed placement: –Select v 1 or v 2 –Fixed placement is faster but lower quality –But it also gives smaller progressive meshes (more later) –Fallback to fixed placement if A is non-invertible When is A non-invertible (hard!)?

10/02/2001CS 638, Fall 2001 Visualizing Quadrics in 3-D Quadric isosurfaces –Contain all the vertex locations that are within a given distance of the face planes –Are ellipsoids (maybe degenerate) –Centered around vertices –Characterize shape –Stretch in least-curved directions

10/02/2001CS 638, Fall 2001 Sample Model: Dental Mold 424,376 faces 60,000 faces 50 sec

10/02/2001CS 638, Fall 2001 Sample Model: Dental Mold 424,376 faces 8000 faces 55 sec

10/02/2001CS 638, Fall 2001 Sample Model: Dental Mold 424,376 faces 1000 faces 56 sec

10/02/2001CS 638, Fall 2001 Must Also Consider Attributes Mesh for solution Radiosity solution

10/02/2001CS 638, Fall 2001 Must Also Consider Attributes Add extra terms to plane equations for color information (or texture coords) Makes matrices and vectors bigger, but doesn’t change overall approach 50,761 faces 10,000 faces

10/02/2001CS 638, Fall 2001 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 distance – may flicker badly There are several options: –Leave the popping but try to avoid flicker: Textbook Ch 4.9 –Show a blended combination of two models, based on the distance between the switching points Image blend – render two models at alpha 0.5 each 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/02/2001CS 638, Fall 2001 Hysteresis Thresholds (Gems Ch 4.9) 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 threshold should be at a greater distance than the increase threshold –If the object is between the thresholds, use the same LOD as on the previous frame

10/02/2001CS 638, Fall 2001 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 DistanceT increase T decrease