3D Model Simplification (GATE-540)

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
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.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
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.
Mesh Simplification Global and Local Methods:
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
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.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
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.
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.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
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.
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.
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
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
All the Polygons You Can Eat
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)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
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.
Advanced Computer Graphics
CS Computer Graphics II
Level of Detail: A Brief Overview
CS475 3D Game Development Level Of Detail Nodes (LOD)
Controlled Topology Simplification (Voxel Based Object Simplification)
Domain-Modeling Techniques
Craig Schroeder October 26, 2004
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

3D Model Simplification (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : cagatay@undeger.com References: David P. Luebke, A Developer’s Survey of Polygonal Simplification Algorithms Mark Duchaineau et al. ROAMing Terrain: Real-Time Optimally Adapting Meshes Game Technologies Program – Middle East Technical University – Spring 2010

Outline Introduction to Simplification Simplification Algorithm Selection Criteria Kinds of Simplification Algorithms Brief Description of Simplification Algorithms

Polygonal Models Currently dominate interactive computer graphics because of Their mathematical simplicity and Their simple, regular rendering algorithms that embed well in hardware.

Difficulties of Polygonal Models Complexity of polygonal models are measured by the number of polygons Complexity of required models seems to grow faster than the ability of our graphics hardware to render them interactively.

Polygonal Simplification Offers one solution for developers to deal with these complex models.

Polygonal Simplification Flight simulators have long used hand-crafted multi-resolution airplane models to guarantee a constant frame rate. In this course, we will deal with automated simplification of these models.

Determining Appropriate Algorithm Need to answer several questions: Why do I need to simplify models? What do my models seem like? What is important to me the most?

Why do I Need to Simplify? Trying to eliminate redundant geometry? e.g. Volumetric iso-surfaces generated by the marching cubes algorithm tile the model’s flat regions with many small, coplanar triangles? After subdivision of a model for finite-element analysis, a simplification algorithm is required to remove unnecessary geometry?

Why do I Need to Simplify? Trying to reduce model size? Geometric compression? Creating a downloadable models for a Web site? Minimizing storage requirements?

Why do I Need to Simplify? Trying to improve runtime performance? Generating levels of detail (LODs) of the objects in a scene? Simplifying the polygonal scene being rendered, By representing distant objects with a lower LOD and nearby objects with a higher LOD?

What do My Models Seem Like? No algorithm today exists that simplifying all models sucessully. Organic forms with smooth curves. Mechanical objects with sharp corners, flat faces, and regular curves. Precomputed colors, lighting or texture that must be considered.

What do My Models Seem Like? A few large, high-complexity, individual objects (e.g. terrain data, medical data). Multiple objects of moderate complexity. Large assemblies of many small objects.

What is Important to Me? Preserve accuracy in the simplified models? Control the Hausdorff distance of the simplified vertices / surface to the original Bound the volumetric deviation of the simplified mesh from the original... Just want high visual fidelity? Perception is more difficult to quantify than geometry Preserve model’s topological genus?

What is Important to Me? If run-time performance is crucial, You may need an algorithm capable of drastic simplification. A drastic simplification may require: View-depended simplification Topology-reduction simplification

Kinds of Algorithms Many approaches, each with strengths and weaknesses. Treatment of mesh topology Simplification mechanism Static, dynamic, view-depended

Treatment of Mesh Topology Provides an important distinction Topology: connected polygonal mesh structure Genus: number of holes in the mesh surface Genus of zero Genus of one Genus of three

Treatment of Mesh Topology The mesh forms a 2D manifold if the neighborhood of every feature consists of a connected ring of polygons forming a single surface. In a triangulated manifold mesh: Exactly two triangles share every edge, and Every triangle shares an edge with exactly three neighboring triangles. (accept borders)

Treatment of Mesh Topology Manifold meshes result in well-behaved models. Any simplification algorithm can successfully operate on any manifold object. Some algorithms (e.g. marching-cubes) guarantee manifold output. Some models have cracks, T-junctions, and nonmanifold points or edges.

Treatment of Mesh Topology A topology-preserving simplification algorithm: Preserves manifold connectivity at every step. Fidelity tends to be relatively good. Can’t be simplified drastically. Requires a mesh with manifold topology. A topology tolerant simplification algorithm: Ignores regions in the mesh with nonmanifold local topology, Leaves those regions unsimplified.

Treatment of Mesh Topology A topology-modifying algorithm: Don’t necessarily preserve manifold topology. May close up holes in the model and aggregate separate objects into assemblies Permitting drastic simplification beyond the scope of topology-preserving schemes. Often provides poor visual fidelity. Good at real-time visualization of complex scenes.

Simplification Mechanism Four basic polygon removal mechanisms: Sampling, Adaptive subdivision, Decimation, and Vertex merging.

Sampling Sample the initial model’s geometry: With points on the model’s surface or With voxels superimposed on the model in a 3D grid. More elaborate and difficult to code approaches. Trouble achieving high fidelity. Work best on smooth organic forms with no sharp corners.

Adaptive Subdivision Finds a simple base mesh that can be recursively subdivided to closely approximate the initial model. Requires creating a base model that captures the original model’s important features, which can be tricky. Preserve the surface topology, which may limit their capacity for drastic simplification.

Decimation Iteratively remove vertices or faces from the mesh, re-triangulating the resulting hole after each step. Relatively simple to code and can be very fast. Use strictly local changes that tend to preserve the genus. This restricts drastic simplification.

Vertex Merge Collapses two or more vertices of a triangulated model into a single vertex, Which in turn can be merged with other vertices.

Vertex Merge A simple and easy-to-code mechanism. Range from simple, fast, and crude to complex, slow, and accurate.

Static, Dynamic, and View-Dependent Simplification Traditional static approach: Polygonal simplification creates several discrete versions of each object in a preprocess, each at a different LOD. Decoupling simplification and rendering makes this the simplest model to code. Each LOD can be converted during preprocessing to triangle strips and compiled as a separate display list.

Static, Dynamic, and View-Dependent Simplification Dynamic approach: Creates a data structure, which encodes a continuous spectrum of detail. Desired LOD can be extracted from this structure at run-time. Advantage: uses no more polygons than necessary.

Static, Dynamic, and View-Dependent Simplification Extends dynamic simplification by using view-dependent criteria Selects the most appropriate LOD for the current view.

Brief Description of Some Simplification Algorithms Triangle Mesh Decimation Vertex Clustering Multiresolution Analysis of Arbitrary Meshes Voxel-Based Object Simplification Simplification Envelopes Appearance-Preserving Simplification Quadric-Error Metrics Image-Driven Simplification Progressive Meshes Real-Time Optimally Adapting Meshes (ROAM)

Triangle Mesh Decimation By Schroeder, Zarge, and Lorenson Simplify general polygonal models. Term decimation for iterative removal of vertices. Designed to operate on the output of the marching cubes algorithm. Coplanar regions divided into many more polygons than necessary.

Triangle Mesh Decimation Multiple passes over all the vertices: If the vertex can be removed without violating the local topology, and If resulting surface would lie within a user-specified distance of the unsimplified geometry, Deletes vertex and all its associated triangles. Hole in the mesh is re-triangulated.

Triangle Mesh Decimation Vertices of simplified model are a subset of the original model’s vertices. Convenient for reusing normals and texture coordinates at the vertices. Limit the fidelity of the simplifications. Quite fast and topology tolerant. Available as part of the Visualization Tool Kit at http://www.kitware.com/vtk.html

Vertex Clustering By Rossignac and Borrel Topology insensitive, neither requiring nor preserving valid topology.

Vertex Clustering Assigns an importance to each vertex. More Important: Vertices attached to large faces and vertices of high curvature Less Important: Vertices attached to small faces and vertices of low curvature.

Vertex Clustering Overlays a 3D grid on the model Collapses all vertices within each cell of the grid to the single most important vertex in cell.

Vertex Clustering Grid’s resolution determines quality of simplification. During the clustering process, Triangles whose corners are collapsed together become degenerate and disappear.

Vertex Clustering A unique feature in rendering merged corners. Renders using the graphics hardware line and point primitives. a triangle with two corners collapsed is a line a triangle with three corners collapsed is a point

Vertex Clustering A different clustering approach called floating-cell clustering by Low and Tan. Ranks vertices by importance. A cell of user-specified size is centered on the most important vertex. Collapses all vertices falling within the cell to the representative vertex. The most important remaining vertex becomes the center of the next cell, And the process repeats.

Vertex Clustering Extremely fast. Run in O(n) time for n vertices. Since algorithm: Don’t preserve topology, and Don’t guarantee the amount of error introduced by the simplified surface, Often less pleasing visually than those of slower algorithms.

Multiresolution Analysis of Arbitrary Meshes (MRA) Adaptive subdivision algorithm by Eck et al. Uses a compact wavelet representation to guide a recursive subdivision process. Fast enough to do at runtime Guarantee that the simplified surface lies within a userspecified distance of the original model. Wavelet series is a squre-integrable function.

Multiresolution Analysis of Arbitrary Meshes (MRA) Provides a method for finding a simple base mesh That exhibits subdivision connectivity, So that recursive subdivision will recover the original mesh.

Multiresolution Analysis of Arbitrary Meshes (MRA) Base mesh by growing Voronoi-like regions across the original surface’s triangles. When these regions can’t grow anymore, Voronoi sites form a Delaunay-like triangulation, and The triangulation forms the base mesh.

Multiresolution Analysis of Arbitrary Meshes (MRA) Manifold topology is required in the input model. Strict topology-preserving approach. Original object’s shape and genus limit the potential for drastic simplification. Fidelity is quite high for smooth, organic forms. Has difficulty capturing sharp features.

Voxel-based Object Simplification By He et al. Simplify topology in a gradual and controlled manner using a signal processing approach. Sample a volumetric representation of the model By Superimposing a 3D grid of voxels over the polygonal geometry.

Voxel-based Object Simplification Aassigns each voxel a value of 1 or 0, According to whether the sample point of that voxel lies inside or outside the object. Resamples the volume with a lower resolution To elliminate small, high-frequency features. Applies marching cubes. Uses topology-preserving algorithm as a postprocess to eliminate redundant geometry.

Voxel-based Object Simplification High-frequency details such as sharp edges and corners are lost. Greatly restricts its usefulness on mechanical CAD models. Isn’t topology tolerant, Since deciding whether sample points lie inside or outside the object requires closed-mesh objects.

Simplification Envelopes By Cohen et al. Guarantee fidelity bounds While enforcing global and local topology. Two offset surfaces, no more than some distance ε from the original surface. outher ε original -ε inner

Simplification Envelopes Outher envelope Displaces each vertex of the original mesh along its normal by ε, Inner envelope: Displaces each vertex by −ε. Aren’t allowed to self-intersect. If so, algorithm decreases ε in the local neighborhood.

Simplification Envelopes Envelopes can guide the simplification process. Keeping simplified surface within envelopes Iteratively remove triangles or vertices, and Retriangulate the resulting holes.

Simplification Envelopes Surface never deviates by more than ε from the original model. Resulting simplifications tend to have excellent fidelity. Strict preservation of topology Not good for drastic simplification. Requires an orientable manifold. implementation at http://www.cs.unc.edu/~geom/envelope.html.

Appearance-Preserving Simplification By Cohen, Olano, and Manocha Takes the error-bounding approach of simplification envelopes a step further. Provides the best guarantees on fidelity of any simplification algorithm.

Appearance-Preserving Simplification Fidelity is expressed in terms of maximum screenspace deviation. Rendered image deviate from the original’s appearance by no more than a user-specified number of pixels.

Appearance-Preserving Simplification Attributes affecting appearance: Surface position: the coordinates of the vertices. Surface color: the color field across the mesh. Surface curvature: Field of normal vectors across the mesh.

Appearance-Preserving Simplification The simplification process uses edge collapses. Edge collapses that cause surface color, normals, or position to shift by more than the maximum user-specified distance ε aren’t allowed.

Appearance-Preserving Simplification

Quadric Error Metrics A vertex-merging algorithm by Garland and Heckbert Perhaps has the best balance yet between speed, fidelity, and robustness.

Quadric Error Metrics Iteratively merging pairs of vertices ( which may not need be connected by an edge). Candidate vertex pairs include: All vertex pairs connected by an edge, Plus all vertex pairs separated by less than a user-specified distance threshold t.

Quadric Error Metrics All candidate vertex pairs are sorted into a priority queue according to the quadric error metric calculated for merging them. Removes vertex pair with the lowest merge error from the top of the queue and merges it. Updates the errors of all vertex pairs involving the merged vertices and Repeats the process.

Quadric Error Metrics A simple way to guide the simplification process. Extremely fast. Relatively minor storage costs. Visual fidelity tends to be quite high. Doesn’t require manifold topology. Lets holes close and objects merge. QSlim, available at http://graphics.cs.uiuc.edu/~garland/software/qslim.html

Image-Driven Simplification By Lindstrom and Turk First to address simplification directly in terms of how the simplified model will look when rendered. Occurs through a sequence of edge collapse operations using a priority queue. Uses a purely image-based metric.

Image-Driven Simplification Determines the cost of an edge collapse operation by; Performing the collapse and Rendering the model from multiple viewpoints. Comparing rendered images to images of the original model and Sums up the mean-square error in luminance across all pixels of all images.

Image-Driven Simplification Lindstrom and Turk used 20 viewpoints in their implementation. Rendering the entire model for every edge and from many viewpoints is clearly an expensive step. Optimization: Edge collapse affects only a small region of the screen. Only a small portion of the triangles need be rendered per image.

Progressive Meshes Represents polygonal models as a sequence of edge collapses. First dynamic simplification algorithm for general polygonal manifolds. Later extended them to support view-dependent simplification.

Progressive Meshes Consists of a simple base mesh created by: A sequence of edge collapse operations A series of vertex split operations. A vertex split is the dual of an edge collapse.

Progressive Meshes Each vertex split: Replaces a vertex by two edge-connected vertices, Creating one additional vertex and two additional triangles. Correspond to the dual of edge-collapse operations used to create the base mesh. This will recapture the original model exactly. Fast enough to perform in real-time.

Progressive Meshes Models mesh complexity and fidelity as an energy function to be minimized. Sorts edges into a priority queue. Energy function is minimized in a greedy fashion by performing edge collapse operations at the head of the queue. Sequence of edge collapse operations performed becomes the hierarchy of vertex split operations.

Progressive Meshes 3 view-dependent simplification criteria: A view frustum test A backfacing test A screenspace error threshold

Progressive Meshes Manifold topology is required. Prevents holes from closing and objects from aggregating. Hoppe’s energy-minimization approach Produces high-fidelity simplifications But is relatively slow. Instead, any algorithm based on edge collapses can be used to generate a progressive mesh.

Real-Time Optimaly Adapting Meshes (ROAM) By Mark Duchaineau et al. A view-dependent simplification algorithm. Dynamic terrain and simple vertex morphing.

Real-Time Optimaly Adapting Meshes (ROAM) Uses: A bintree. 2 priority queues to drive triangle split and merge.

Real-Time Optimaly Adapting Meshes (ROAM) Originally developed for flight simulators. Provides high quality triangulations at high frame rates.