Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem.

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
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.
UVA / UNC / JHU Perceptually Guided Simplification of Lit, Textured Meshes Nathaniel WilliamsUNC David LuebkeUVA Jonathan D. CohenJHU Michael KelleyUVA.
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.
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
New quadric metric for simplifying meshes with appearance attributes Hugues Hoppe Microsoft Research IEEE Visualization 1999 Hugues Hoppe Microsoft Research.
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.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
3D Model Simplification (GATE-540)
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.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Tracking Surfaces with Evolving Topology Morten Bojsen-Hansen IST Austria Hao Li Columbia University Chris Wojtan IST Austria.
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.
Dynamic Meshing Using Adaptively Sampled Distance Fields
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
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
3D Mesh Simplification Electrical and Computer Engineering Department University of Coimbra Faculty of Science and Technology Presented by Luis A. Almeida.
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
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
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
Level of Detail: Generating LODs David Luebke University of Virginia.
DPL2/10/2016 CS 551/651: Final Review David Luebke
Rendering Large Models (in real time)
DPL3/9/2016 CS 551/651: Simplification Continued David Luebke
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
Level of Detail: Generating LODs David Luebke University of Virginia.
Solid Modeling Dr. Scott Schaefer.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Advanced Computer Graphics
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
Meshes.
Chap 10. Geometric Level of Detail
Presentation transcript:

Levels of Detail COMP 770 3/25/09

Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem 13M Triangles 8M Elevation Points1M Triangles

Problem Even after visibility culling we can have too many visible triangles Won’t this problem go away with faster GPUs? –The real world has virtually infinite complexity –Our ability to model and capture this complexity outpaces rendering performance 270M Elevation Points 82M Triangles 100M Triangles 372M Triangles Q: Why else might we want to reduce the working set size?

Levels of Detail Basic Idea: Render using fewer triangles when model is farther from viewer Methods: –Multi-resolution modeling Remeshing Parametric Surfaces Subdivision Surfaces –Polygonal Simplification –Image Impostors

LOD Hierarchy [Clark76] First LOD paper –Replace each object in the scene graph with a hierarchy of objects at differing resolutions –Select LOD based on size of screen-space projection Integrates VFC with LOD search Supports out-of-core rendering Most LOD systems today are based on this basic concept

Polygonal Simplification Method for reducing the polygon count of mesh Local Operators: –Vertex Clustering –Vertex Removal –Edge Collapse –Triangle Collapse Global Operators: –Low-Pass Filtering –Morphological Operators –Alpha-Hull

Vertex Clustering [Rossignac & Borrel 93] Weight vertices by: –Inverse of max angle between edges (why?) –Size of largest adjacent face (why?) Impose a grid on the model Compute weighted average vertex in each cell Triangles become: –Triangles –Lines –Points Keep the unique primitives

Vertex Clustering How do we create a set of LODs? What are the limitations on this method? Main Benefits: –Hard to target a polygon count –Poor error control –Not invariant to rotation or translation –Mixed primitive types –Simple –Robust

Vertex Clustering [Low & Tan 97] Improve on R&B in a several ways including: –Floating-cell clustering –Improved angle weight [draw it] –Rendering using thick lines

Vertex Removal [Schroeder et al. 92] Designed for Marching Cubes Output Remove a triangle and re-triangulate hole Ignores non-manifold vertices Properties: –Preserves topology –Uses original vertices –Linear

Edge Collapse Introduced by [Hoppe93] Variation: Half-Edge Collapse a b c edge collapse vertex split

Foldovers Collapsing an edge can flip a face a b c edge collapse vertex split

Virtual Edge Collapse Extension of edge collapse to two vertices not connected by an edge Allows topological simplification Also known as vertex-pair collapse Usually limited to small distance to avoid O(n 2 ) virtual edges

Edge Collapse Allows geomorphs Fine-grained: 2 triangles removed for manifold case Topology preserving Half-edge collapse preserves vertex set

Low-Pass Filtering [He et al. 96] Convert polygon mesh to volumetric representation Apply low-pass filter to volumetric data Reconstruct the mesh using marching cubes

Morphological Operators [Nooruddin99] Convert polygon mesh to volumetric representation Apply dilation operator followed by erosion operator Reconstruct with marching cubes Apply polygonal simplifcation

Topological Simplification Using Alpha-Hulls [El-Sana and Varshney 98] Definition: –Set of points P –Spherical ball b with radius alpha –If b is placed such that it does not intersect P it is empty –The alpha-hull is the complement of empty balls

Topological Simplification Using Alpha-Hulls Intuitively, we roll a ball around the points to define the new surface If the ball does not fit into a concavity it is filled If the ball does not fit in to a hole it is closed If the ball does not fit between two objects it is closed What if alpha=0? What if alpha=infinity? Show paper images

Discrete LOD Use local or global operators to compute a set of LOD meshes At runtime select an LOD mesh and render it Possible Criteria: –Distance to user –Fraction visible –Eccentricity –Visual Importance Extension: HLODS [Erikson01]

Continuous LOD Progressive Meshes [Hoppe96] Iteratively decimate a mesh using edge collapse operator Store the inverse vertex split for each collapse The most simplified mesh (base mesh) and vsplit records form the progressive mesh: M 0 →M 1 →… → M n

Continuous LOD Rather than a few discrete LODs we have a full range Vertex split does not require much storage Can geomorph between LODs Show video

View-Dependent LOD So far we have: –Discrete LOD: fixed models at various fidelities –Continuous LOD: a progression of meshes from coarse to fine Consider a case like this:

View-Dependent LOD Create an LOD representation at runtime according to view-parameters What view-dependent criteria can we use? More detail close to the viewer Preserve the silhouette of the object Preserve specular highlights Aggressively simplify the backfaces

View-Dependent LOD Organize the simplification operations as a hierarchy Compute a front in the hierarchy Use temporal coherence [Luebke&Erikson97] use octree clustering [Hoppe96] uses edge collapse Show video

View-Dependent LOD View-Dependent LOD has fidelity advantages but not generally used. Why? –Expensive to traverse hierarchy front –Dynamically generated geometry difficult to render optimally

CHPM [Yoon et al. 2004] Addresses problems of vertex hierarchy Same framework used for LOD collision detection

CHPM Video: – Collision: –

Simplification Error Why measure error? –Better quality LOD –Know the quality of the LOD Usually, we want to measure appearance Generally, we use a geometric measure as a proxy Error measures are used in three ways: –To pick which operation to perform –To determine resulting surface from an operation (e.g. position of replacement vertex) –To pick an LOD at runtime Two common LOD selection criteria: –Target framerate –Target quality

Hausdorff Distance A measure of surface deviation h(A,B)=max a min b (|a-b|) H(A,B)=max(h(a,b),h(b,a)) h is sometimes called the one- sided Hausdorff distance Provides a bound on the maximum possible error Project to screen space to get deviation in pixels A B

Vertex Plane Distance [Ranford 96] One metric is the max distance between the vertex and the planes of the supported triangles E=max p (pv) a b v

Quadric Error Metric [Garland & Heckbert 97] Use sum of squared distance rather than max distance E=  (pv) 2 =  (v T p) (p T v)=v T [  (p p T )]v = v T [  Q p ]v = v T Qv Additional plane can be incorporated by a 4x4 matrix addition Cost to compute the error given a quadric and vertex is constant

Attributes Vertices have more than just position: –Colors –Normals –Texture Coords –And now varying input to programs Vertices may lie at a discontinuity –Different Textures –Different Material Properties –Different Shaders

Attributes [Hoppe98] introduces the idea of wedges Wedges separate discrete attributes at a vertex A wedge disappears when all its triangles collapse

Attributes Earlier algorithms ignored attributes or simply propagated their values Can simply use the same metric as for position: –Normals in Euclidean space –Colors in RGB space Better: –Normals in spherical domain –Colors in a perceptually linear color space Generally total error is a weighted sum of position and attribute errors

Normal cones [Luebke & Erikson 97] Used in view-dependent LOD to determine likelihood that a vertex represents the silhouette or be at a specular highlight cluster

GAPS [Erikson99] Uses a threshold distance τ Vertex pairs within distance τ are candidates τ grows over simplification process Allows topological simplification at all scales

Image Driven Simplification Render the object from a sampling of view-points Measure error as RMS of pixels Only redraw relevant triangles Benefits?Drawbacks?

Simplification Envelopes Compute interior and exterior offset surfaces at distance ε Remove vertices and retriangulate if new surface does not intersect envelopes Limitations?

Other Forms of LOD Image impostors –Warping (e.g. [Rafferty98]) –Texture Depth Meshes (e.g. [Aliaga99]) Shader LOD –Number of shaders –Number of textures Simulation LOD –Time steps –Simulation resolution –Number of particles Lighting –Number and type of lights used

Resources LOD Book: Luebke et al. – Surveys: – es/survey.html es/survey.htmlhttp:// es/survey.html – apers/surveyMINGLE.pdf apers/surveyMINGLE.pdfhttp:// apers/surveyMINGLE.pdf – – +a.2001.pdf +a.2001.pdfhttp:// +a.2001.pdf