A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Similar documents
Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Mesh Decimation. Mark Pauly

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Decimation Using VTK

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

A Short Survey of Mesh Simplification Algorithms

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Multiresolution Meshes. COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc.

A Comparison of Mesh Simplification Algorithms

A Survey of Polygonal Simplification Algorithms UNC Technical Report TR97-045

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Simplification. Stolen from various places

View-dependent Polygonal Simplification

Geometric Modeling and Processing

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Processing 3D Surface Data

Deformation Sensitive Decimation

Surface Simplification Using Quadric Error Metrics

Mesh and Mesh Simplification

Semiautomatic Simplification

Processing 3D Surface Data

Multiresolution model generation of. texture-geometry for the real-time rendering 1

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Polygonal Simplification: An Overview

Processing 3D Surface Data

Level Set Extraction from Gridded 2D and 3D Data

Advanced Computer Graphics

Polygonization of Implicit Surfaces

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification

3D Modeling: Surfaces

Isotopic Approximation within a Tolerance Volume

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Surface Simplification Using Quadric Error Metrics

Triangle meshes I. CS 4620 Lecture 2

Special Topics in Visualization

EECS 487: Interactive Computer Graphics

No.5 An Algorithm for LOD by Merging Near Coplanar Faces 451 The approaches mentioned above mainly make passes by calculating repeatedly the geometric

Per-pixel Rendering of Terrain Data

Surface Topology ReebGraph

Fast and accurate Hausdorff distance calculation between meshes

Real-time Extendible-resolution Display of On-line Dynamic Terrain

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis

A Real-time System of Crowd Rendering: Parallel LOD and Texture-Preserving Approach on GPU

All the Polygons You Can Eat. Doug Rogers Developer Relations

Adjacency Data Structures

Triangle meshes I. CS 4620 Lecture Kavita Bala (with previous instructor Marschner) Cornell CS4620 Fall 2015 Lecture 2

A Study on View-Dependent Representation of 3-D Mesh Models Using Hierarchical Partitioning

Perceptual Analysis of Level-of-Detail: The JND Approach

Appearance Preservation

1 A REVIEW ON LEVEL OF DETAIL

Progressive Compression for Lossless Transmission of Triangle Meshes in Network Applications

Multiresolution structures for interactive visualization of very large 3D datasets

Multiresolution Remeshing Using Weighted Centroidal Voronoi Diagram

APPROACH FOR MESH OPTIMIZATION AND 3D WEB VISUALIZATION

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

CS 465 Program 4: Modeller

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Shape-preserving Mesh Simplification based on Curvature Measures from the Polyhedral Gauss Map

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline

Texture Mapping for View-Dependent Rendering

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Solid Modeling. Ron Goldman Department of Computer Science Rice University

A General Simplification Algorithm

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Scalar Algorithms: Contouring

Volume Illumination, Contouring

Simplification of Meshes into Curved PN Triangles

Progressive Mesh. Reddy Sambavaram Insomniac Games

A Volumetric Method for Building Complex Models from Range Images

Complex Models from Range Images. A Volumetric Method for Building. Brian Curless. Marc Levoy. Computer Graphics Laboratory. Stanford University

View-Dependent Selective Refinement for Fast Rendering

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model

Finding Shortest Path on Land Surface

A General Algorithm for Triangular Meshes Simplification

Out of Core continuous LoD-Hierarchies for Large Triangle Meshes

Digital Geometry Processing. Computer Graphics CMU /15-662

Shape and Appearance from Images and Range Data

Final Project, Digital Geometry Processing

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue>

Rafael Jose Falcon Lins. Submitted in partial fulfillment of the requirements for the degree of Master of Computer Science

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Geometric Features for Non-photorealistiic Rendering

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces

Ray Casting of Trimmed NURBS Surfaces on the GPU

Parameterization with Manifolds

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Transcription:

A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Some questions to ask Why simplification? What are my models like? What matters to me most?

Eliminate redundant geometry Why?

Download models from the web Why?(Cont.)

Why?(Cont.) Improve rendering speed (generating level of details) Produce LODs

Smooth, organic forms Machine parts with sharp corners What are my models like? Different models need different simplification algorithms

What are my models like? (Cont.) Precomputed lighting and textures Small number of large complex object Multiple moderately complex objects video game Large number of small objects CAD models

What s important for you? Geometric accuracy? Volume deviation Visual fidelity? (how to measure?) Pre-processing time? Run-time rendering time? Automatic?

Taxonomy of SA Simplification algorithms can be classified into groups based on different criteria: Topology preservation Simplification Mechanism Static/Dynamic/View-dependent

Topology Refers to the connected polygonal mesh s structure Genus: the number of holes (handles) in the object Sphere and Cube: 0 Doughnut and Coffee Cup : 1

Topology Refers to the connected polygonal mesh s structure Genus: the number of holes (handles) in the object Sphere and Cube: 0 Doughnut and Coffee Cup : 1

Topology Refers to the connected polygonal mesh s structure Genus: the number of holes (handles) in the object Sphere and Cube: 0 Doughnut and Coffee Cup : 1

Topology (Cont.) 2D manifold (local property) Exact two triangle share an edge Every vertex is shared by a ring of triangles to form a surface (local topology is a disc) Every triangle shares edges with exact three triangles

Examples of manifold and non-manifold Topology (Cont.)

Topology and SA Topology-preserving algorithms Preserve manifold connectivity at every step (don t close up or create holes) Yes Yes No

Topology and SA (Cont.) Topology-preserving algorithms Good visual fidelity Limited simplification Often require the model to be a manifold to begin with (less robust)

Topology and SA (Cont.) Opposite: Topology-modifying algorithms Permit drastic simplification Poor visual quality/popping effect Often insensitive to topological features Work best when drastic simplification is needed (visualization or complex scenes)

Topology and SA Summary Questions to ask before using the algorithm: Topology-preserving or Topology-modifying? Topology-tolerant or Topology-sensitive?

Mechanism Strategies used to remove polygons Sampling Adaptive Subdivision Decimation Vertex Merging

(1) Sampling Sample the surface: Embedding a 3D volumetric grid around the surface Remove high-frequency (fine) features Applying image processing to perform low-pass filter Recover the surface from filtered samples: Recover the simplified surface from the lowpassed volume

Sampling (Cont.) High frequency features are gradually removed high frequency features are hard to sample Work best for smooth objects

(2) Adaptive Subdivision Find a base mesh Recursively subdivide the base mesh to approach the initial mesh Example: Terrain simplification (rectangle as the base mesh)

Adaptive Subdivision (Cont.) Work best when the base mesh is easily found (can be very hard) Preserve topology Multi-resolution editing (low level feature naturally propagate to finer level)

(3) Decimation Iteratively remove vertices from the mesh Remove the associated triangles Retriangulate the resulting holes at each step

Decimation (Cont.) Simple to code and very fast Topology preserving No drastic simplification Topology tolerant

Vertex Merging Collapsing two or more vertices into a single vertex Reconnecting the points with the remaining adjacent vertices Different algorithms have varying sophistication in which vertices to merge in what order

Vertex Merging (Cont.)

Mechanism Summary Sampling Adaptive Subdivision Decimation Vertex Merging

Static/Dynamic/Viewdependent Static: Compute a fixed set of simplifications or LODs offline Dynamic: Encoding a continuous spectrum of LODs as opposed to a fixed set Better granularity Support progressive transmission

Static/Dynamic/Viewdependent View-dependent: Extending Dynamic methods LOD selections are based on view dependent criteria: Distance to the eye Silhouette regions better fidelity for a given polygon count increase the run time CPU load for choosing the LODs

A Brief catalog of algorithms A Brief catalog of algorithms How they treat topology Whether they use static, dynamic, or viewdependent simplification

Triangle mesh decimation A multiple-pass algorithm During each pass, perform the following three basic steps on every vertex: Classify the local geometry and topology for this given vertex Use the decimation criterion to decide if the vertex can be deleted If the point is deleted, re-triangulate the resulting hole. This vertex removal process repeats, with possible adjustment of the decimation criteria, until some termination condition is met.

Triangle mesh decimation Overall Topology Topology preserving Topology tolerant Mechanism Decimation Simple and fast only limited to manifold surfaces

Triangle mesh decimation Topology Topology-modifying algorithm Topology modifying Mechanism Decimation Decimation code http://public.kitware.com/vtk/

Vertex clustering Uniform rectilinear partitioning of vertices into 3D grid cells Replace all vertices in a grid cell by a single representative vertex

Vertex clustering New algorithm: Use error quadrics instead of grading each vertex with an important value Compared to original vertex pair contraction algorithm, the sequence of contractions is determined by the cluster grid rather than by the mesh geometry Floating-Cell clustering. Assign an importance to vertices and sort the vertices by importance

Vertex clustering Overall Topology Fast Topology modifying Topology insensitive Poor quality

Multiresolution analysis of arbitrary meshes Main idea Uses a compact wavelet representation to guide a recursive subdivision process multiresolution representation of mesh M = base shape M 0 + sum of local correction terms (wavelet terms)

base shape M 0 Multiresolution analysis of arbitrary meshes mesh M

Multiresolution analysis of arbitrary meshes Overall Possesses the disadvantages of strict topologypreserving approachs The fidelity of the resulting is high for smooth, organic forms Difficulty in capturing sharp features

Main idea Sampling Polygonal Range scanned Volume Mathematical function Voxel-based object simplification Controlled Filtering, Use low-pass filtering to create frequency-limited versions of the sampled volume Reconstruction Volume reconstruction Surface reconstruction

Voxel-based object simplification

Multiresolution analysis of arbitrary meshes Overall High-frequency details are eliminated Not topology tolerant

Simplification Envelopes Main idea Bound error by requiring simplified surface to lie within surfaces offset by ε

Simplification Envelopes Cohen, Varshney, et al., Simplification Envelopes, Proceedings of SIGGRAPH 96

Simplification Envelopes Overall Topology preserving Excellent choice where fidelity and topology preservation are crucial Can be combined with most other meshes The strict of preservation of topology curtails the capability for drastic simplification http://www.cs.unc.edu/~geom/envelope.html

Main idea Preserve three appearance attributes: Surface Position Surface Curvature Material Color Appearance-preserving Simplification Colors and normals stored in texture and normal maps Texture deviation computed using parametric correspondence Preserves colors and normals, bounding texture motion in object and screen space

Appearance-preserving Simplification Cohen, Olano, and Manocha, Appearance-Preserving Simplification, Proceedings of SIGGRAPH 98.

Appearance-preserving Simplification Overall Useful on models that don t require dynamic lighting The standard for high-fidelity simplification

Main idea Quadric error metrics Iteratively contract vertex pairs ( a generalization of edge contraction) As the algorithm proceeds, a geometric error approximation is maintained at each vertex of the model which is represented using quadric matrices The algorithm proceeds until the simplification goals are satisfied.

Quadric error metrics 5,804 faces 994 faces 532 faces 248 faces 64 faces An example sequence of approximations generated by the algorithm. The entire sequence was constructed in about one second.

Quadric error metrics Overall Continuous LODs The algorithm can provide high efficiency, high quality and high generality Running time approaches O(n 2 ), but Erikson and Manocha proposed an adaptive threshold selection scheme that addresses this problem Qslim. http://graphics.cs.uiuc.edu/~garland/software/q slim.html

Main idea Use edge collapse Two decisions Where to place new vertex How to order edge collapse (Lazy queue algorithm) RMS root-mean-square (d RMS ) Image-driven Simplification

Image-driven Simplification

Image-driven Simplification Overall Trade-off between simplification and the risk of missing an important effect High-fidelity preservation of regions with drastic simplification of unseen model geometry Slow

Main idea New mesh simplification procedure Ecol vspl New representation Progressive meshes Progressive meshes attributes v t ecol(v s,v t, v s ) vspl(v,v s l,v r, v s,v t, ) v t v l v r v l v s v r v l v s v r v l v r v s v s (optimization)

Progressive meshes 13,546 500 152 150 150 M=M ^ n ecol n-1 152 M 175 M 1 175 ecol ecol i 0 500 13,546 M 0 M 0 M 1 M 175 M =M^ n vspl 0 vspl i i vspl n-1 n-1 progressive mesh (PM) representation

Overall continuous-resolution smooth LOD space-efficient progressive Advantages of MRA encodes geometry & color independently supports multiresolution editing Advantages of PM lossless more accurate captures discrete attributes captures discontinuities Progressive meshes

Main idea Construct a view-dependent tree Hierarchical dynamic simplification V 1 V 2 V 6 Va Vb V 3 V 5 V 4 Split Merge V 1 V 2 V 6 V V 3 V 5 V 4

Overall Not topology preserving Topology tolerant Dynamic Simple to code Hierarchical dynamic simplification Any algorithm based on vertex merging can be used fast, but limited by input geometry VDSlib Http://vdslib.virginia.edu

Issues and Trends Converge on vertex merging as the underlying mechanism Hierarchical vertex merging provides general framework Still lack an agree-upon definition of fidelity Perceptual metric is hard to get

[7] Appearance Perserving Simplification, Reference J. Cohen et al, ACM SIGGRAPH 98 [1] A Developer's Survey of Polygonal Simplification Algorithms, David P. [8] View-Dependent Simplification of Lueke IEEE CG&A, May/June, 2001 Arbitrary Polygonal Environment, D. [2] Topology Luebke Preserving and C. Edge Erikson Contraction,, ACM SIGGRAPH'97 Tamal Dey and Herbert Edelsbrunner [9] Out-of-Core Simplification of Large [3] Decimation of Triangle Meshes, W. Schroeder, J. Zarge, and W. Polygonal Models, P. Lindstrom, ACM Lorenson, ACM SIGGRAPH'92 SIGGRAPH 2000 [4] Simplification Using Quadric Error Metrics, M. Garland and P. Heckbert, [10] Image-Driven Simplification, P. ACM SIGGRAPH'97 Lindstrom and G. Turk, ACM Transactions [5] Voxel-Based Object Simplification, T. He et al, IEEE Visualization '95 on Graphics, vol.19, no. 3 [6] Simplification Envelopes, J. Cohen et al, ACM SIGGRAPH 96 [11] Geometric Compression, M. Deering, ACM SIGGRAPH 95

Reference [7] Appearance Perserving Simplification, J. Cohen et al, ACM SIGGRAPH 98 [8] View-Dependent Simplification of Arbitrary Polygonal Environment, D. Luebke and C. Erikson, ACM SIGGRAPH'97 [9] Out-of-Core Simplification of Large Polygonal Models, P. Lindstrom, ACM SIGGRAPH 2000 [10] Image-Driven Simplification, P. Lindstrom and G. Turk, ACM Transactions on Graphics, vol.19, no. 3 [11] Geometric Compression, M. Deering, ACM SIGGRAPH 95