Download presentation
Presentation is loading. Please wait.
Published byClinton Bond Modified over 9 years ago
1
3D Mesh Simplification Electrical and Computer Engineering Department University of Coimbra Faculty of Science and Technology Presented by Luis A. Almeida
2
DEEC, 19 of January, 2010 2/55 Summary n Why to simplify polygonal objects? –What matters to me most? n Simplification algorithms taxonomy n Topology, genus,Mechanisms n Static, dynamic and view dependent simplification n Quadric Error Metrics n A brief catalog of algorithms n Conclusions
3
DEEC, 19 of January, 2010 3/55 Bibliografy n A Developer’s Survey of Polygonal Simplification Algorithms. David Luebke, IEEE Computer Graphics &Applications (May 2001). n Heckbert, Paul S., and Michael Garland, "Survey of Polygonal Surface Simplification Algorithms," CMU-CS Technical Report, May 1997.http://www.cs.cmu.edu/~ph/ n Paolo Cignoni, Claudio Montani, Roberto Scopigno: A comparison of mesh simplification algorithms. Computers & Graphics 22(1): 37-54 (1998) n Jonathan D. Cohen, Concepts and Algorithms for Polygonal Simplification, SIGGRAPH 99 Course Tutorial #20: Interactive Walkthroughs of Large Geometric Datasets. pp. C1-C34. 1999 n Addy Ngan, Simplification of 3D Meshes, http://www.cs.princeton.edu/courses/archive/spr00/cs598b/lect ures/simplification/simplification.pdf
4
DEEC, 19 of January, 2010 4/55 Courtesy Stanford 3D Scanning Repository 69,451 polys2,502 polys251 polys76 polys Simplification of 3D Mesh
5
DEEC, 19 of January, 2010 5/55 Why to simplify polygonal objects? n The problem: –Polygonal models are often too complex to render at interactive rates n Even worse: –Incredibly, models are getting bigger as fast as hardware is getting faster…
6
DEEC, 19 of January, 2010 6/55 Courtesy General Dynamics, Electric Boat Div. Big Models: Submarine Torpedo Room n 700,000 polygons
7
DEEC, 19 of January, 2010 7/55 (Anonymous) Big Models: Coal-fired Power Plant n 13 million polygons
8
DEEC, 19 of January, 2010 8/55 l 16.7 million polygons (sort of) Big Models: Plant Ecosystem Simulation Deussen et al: Realistic Modeling of Plant Ecosystems
9
DEEC, 19 of January, 2010 9/55 Big Models: The Digital Michelangelo Project n David: 56,230,343 polygons n St. Matthew: 372,422,615 polygons Courtesy Digital Michelangelo Project
10
DEEC, 19 of January, 2010 10/55 Why to simplify polygonal objects? n First step in picking the right simplification algorithm is defining the problem n Why to simplify? What’ is the goal? –Eliminate redundant geometry? n Ex: the volumetric isosurfaces generate by marching cubes algorithm tile the model’s flat regions with many small patches n Subdivide the model for finite-element analysis –Reduce de model size for the Web? n Bandwidth and storage constraints –Improve runtime performance on rendering scenes? n Generate level of detail (LOD)
11
DEEC, 19 of January, 2010 11/55 Level of Detail: The Basic Idea n In its most common form: –Simplify the amount of detail used to render small or distant objects –Known as Level of Detail or LOD n A.k.a. polygonal simplification, geometric simplification, mesh reduction, decimation, multiresolution modeling, …
12
DEEC, 19 of January, 2010 12/55 Courtesy Stanford 3D Scanning Repository 69,451 polys2,502 polys251 polys76 polys Level of Detail: Traditional Approach n Create n Create levels of detail (LODs) of objects:
13
DEEC, 19 of January, 2010 13/55 l Distant objects use coarser LODs: Level of Detail: Traditional Approach
14
DEEC, 19 of January, 2010 14/55 Creating LODs n How to simplify a polygonal object? –Where should we simplify the object and where should we preserve detail? –What mechanism to generate a version of the object with fewer polygons? –Recommendations (by David P. Lueke):
15
DEEC, 19 of January, 2010 15/55 Create a polygonal simplification n What criteria should we try to preserve in the simplified object? –A: Its visual appearance n Silhouettes matter (so what do we do?) n Large flat regions can be simplified n Watch for distortion of texture/color/normals –Measure fidelity with geometric criteria: n Volume swept out by displaced surface n Distance from old surface to new surface –Can use this to estimate silhouette distortion in screenspace
16
DEEC, 19 of January, 2010 16/55 Topology, Genus, Mainfold n Topology refers to the connected polygonal mesh’s structure. n Genus is the number of holes in the mesh surface n In a triangulated mesh displaying manifold topology means exactly two triangles share every edge, and every triangle shares an edge with exactly three neighboring triangles.
17
DEEC, 19 of January, 2010 17/55 Mainifold Topology Manifold meshes result in well-behaved models. Some algorithms requires manifold input Other maintain manifold output characteristics
18
DEEC, 19 of January, 2010 18/55 Topology n topology-preserving simplification algorithm n don’t close holes in the mesh and therefore n preserve the overall genus, n simplification limitations n topology tolerant n they ignore regions in the mesh with nonmanifold local topology, leaving those regions unsimplified n topology-modifying algorithms n don’t necessarily preserve manifold topology
19
DEEC, 19 of January, 2010 19/55 Create a 1D polygonal simplification n Douglas-Peucker Algorithm: 1D curve simplification
20
DEEC, 19 of January, 2010 20/55 Create a polygonal simplification n How to generate a version of the object with fewer polygons? –Four basic mechanisms: n Sample-and-reconstruct n Decimation n Vertex-merging n Adaptive subdivision n Static, dynamic and view dependent simplification
21
DEEC, 19 of January, 2010 21/55 Static, dynamic and view dependent simplification
22
DEEC, 19 of January, 2010 22/55 Mechanism to create a polygonal simplification n Sample and reconstruct –Scatter surface with sample points, then recreate using fewer sample points than original surface had vertices –Where to put the sample points? n One answer: scatter at random, then let them repel each other n Answer two: voxels superimposed in 3D grid –Overall –Elaborate and difficult to code –Not high fidelity since loss of high-frequency feature
23
DEEC, 19 of January, 2010 23/55 Mechanism to create a polygonal simplification n Decimation –Iteratively remove faces or vertices, retriangulating hole created in current surface during the process (draw it) –Triangulation: well understood problem n One common algorithm: Loop splitting –Pick which face/vertex to remove based on important criteria n Curvature, size of associated triangles –Overall n Simple to code, fast, preserve genus, good to remove redundant geometry (coplanar polygons)
24
DEEC, 19 of January, 2010 24/55 Mechanism to create a polygonal simplification n Vertex merging –Collapse multiple vertices together and remove degenerate triangles –Edge collapse: Specific form of vertex merge operating on exactly two vertices that share an edge n Removes exactly two (adjacent) triangles
25
DEEC, 19 of January, 2010 25/55 Vertex merging Scheme
26
DEEC, 19 of January, 2010 26/55 Vertex merging Scheme
27
DEEC, 19 of January, 2010 27/55 Mechanism to create a polygonal simplification n Adaptive subdivision –Create a very simple base model that represents the model –Selectively subdivide faces of base model until fidelity criterion met (draw) –Big potential application: multiresolution modeling
28
DEEC, 19 of January, 2010 28/55 Algorithm 1: Rossignac-Borrel (vertice merging) n Rossignac and Borrel, 1992 n Apply a uniform 3D grid to the object n Collapse all vertices in each grid cell to single most important vertex, defined by: –Curvature (1 / maximum edge angle) –Size of polygons (edge length) n Filter out degenerate polygons
29
DEEC, 19 of January, 2010 29/55 Rossignac-Borrel n Resolution of grid determines degree of simplification –Coarse grid lots of simplification –Fine grid little simplification n Representing degenerate triangles –Edges use OpenGL line primitive –Points use OpenGL point primitive
30
DEEC, 19 of January, 2010 30/55 Rossignac-Borrel n Low and Tan, 1997 –Refinement of Rossignac-Borrel n Use cos(max edge angle/2) for curvature n Floating-cell clustering n Thick lines and dynamic shading
31
DEEC, 19 of January, 2010 31/55 Rossignac-Borrel n Pros –Fast, very fast –Robust (topology-insensitive) n Cons –Difficult to specify simplification degree –Low fidelity (topology-insensitive) –Underlying grid creates sensitivity to model orientation in Rossignac-Borrel
32
DEEC, 19 of January, 2010 32/55 Rossignac-Borrel n Rossignac-Borrel examples: 10,108 polys1,383 polys474 polys46 polys Courtesy IBM
33
DEEC, 19 of January, 2010 33/55 Algorithm 2: Schroeder (Decimation) n Multiple passes over all the vertices in the model n Try to delete each vertice if removal do not damage neighborhood’s local topology n and resulting surface lies within a user- specified distance from the original model n The remaining holes are retriangulated
34
DEEC, 19 of January, 2010 34/55 Re-tiling (Turk 92)
35
DEEC, 19 of January, 2010 35/55 Quadric Error Metrics n What is a quadric in this algorithm? n How is it calculated? n How is it used?
36
DEEC, 19 of January, 2010 36/55 Quadric Error Metric n Minimize distance to all planes at a vertex n Plane equation for each face: 0 :p DCzByAx v 1 z y x DCBA T vp l Distance to vertex v :
37
DEEC, 19 of January, 2010 37/55 Quadric Derivation )( ))(( vplanesp TT vppv )( )( v p TT vppv v v vplanesp TT )( )( 2 )()( v p T vpv
38
DEEC, 19 of January, 2010 38/55 Quadric Derivation (cont’d) l pp T is simply the plane equation squared: l The pp T sum at a vertex v is a matrix, Q: vQvv T )( 2 2 2 2 DCDBDAD CDCBCAC BDBCBAB ADACABA pp T
39
DEEC, 19 of January, 2010 39/55 n Construct a quadric Q for every vertex Q1Q1 Q2Q2 v2v2 v1v1 Q 1 T 1 Qvvcost edge l Sort edges based on edge cost n Suppose we contract to v 1 : n v 1 ’s new quadric is simply: Q 21 QQQ The edge quadric: Using Quadrics
40
DEEC, 19 of January, 2010 40/55 Using Quadrics n Minimize Q to calculate optimal coordinates for placing new vertex –Details in paper; involves inverting Q –Authors claim 40-50% less error n Boundary preservation: add planes perpendicular to boundary edges n Prevent foldovers: check for normal flipping n Create virtual edges between vertices closer than some threshold
41
DEEC, 19 of January, 2010 41/55 Boundary Preservation n To preserve important boundaries, label edges as normal or discontinuity n For each face with a discontinuity, a plane perpendicular intersecting the discontinuous edge is formed. n These planes are then converted into quadrics, and can be weighted more heavily with respect to error value.
42
DEEC, 19 of January, 2010 42/55 Simplification Envelopes Simplification Envelopes n What is the basic approach of SE? n What is the underlying mechanism? n What do they guarantee?
43
DEEC, 19 of January, 2010 43/55 Simplification Envelopes n Idea: keep simplification between inner and outer offset surfaces (draw it) n Algorithm : –Set maximum offset –Generate offset surfaces (avoid self-intersections!) –Do all simplification operations that don’t cause intersection (using decimation, edge collapse, etc) n Guarantee: silhouette will not deviate by more than /z pixels
44
DEEC, 19 of January, 2010 44/55 Simplification Envelopes n Pros: –Guaranteed silhouette fidelity bounds –Guaranteed to preserve global topology: n Same genus n No self-intersections n Why might these be important? –Very high fidelity in practice
45
DEEC, 19 of January, 2010 45/55 Simplification Envelopes n Cons –Slow, very slow –Complex and finicky to code –Requires valid manifold topology to begin with –Even if silhouette distortion is < 1 pixel, can still introduce visible artifacts –Can you think of a surface that could be simplified to within a very small distance and look completely different?
46
DEEC, 19 of January, 2010 46/55 Appearance-Preserving Simplification n Cohen, Olano, and Manocha, SIGGRAPH 98 n Track texture distortion as underlying mesh is simplified, as well as geometric distortion –Bound this distortion with world-space , can translate to screen-space pixel bound –Problem: color comes from lighting calculations as well as intrinsic color captured in texture map –Solution: store lighting parameters in normal map –If < 1 pixel, can truly guarantee visual fidelity
47
DEEC, 19 of January, 2010 47/55 Appearance-Preserving Simplification n LODs with and without normal mapping:
48
DEEC, 19 of January, 2010 48/55 Image-Driven Simplification n Lindstrom & Turk, ACM TOG 2000 n Compare simplifications to original via images –Do edge collapse, render from 12-20 views –Evaluate difference (how?) –“Unrender” (how?) and try again –Pick cheapest and apply
49
DEEC, 19 of January, 2010 49/55 Image-Driven Simplification n Pros: –Does a great job preserving appearance –Solves the question of how to trade off geometric distance versus color/normal/texture attributes –Pays attention to shading artifacts –Sensitive to texture content –Drastically simplifies invisible regions!
50
DEEC, 19 of January, 2010 50/55 Image-Driven Simplification n Cons: –Slow, very slow –Can always contrive an example that breaks it: n Hard to know how many images is enough n Hard to know how to evaluate images (RMS vs Bolin-Meyer)
51
DEEC, 19 of January, 2010 51/55 Progressive Meshes n Hoppe, SIGGRAPH 96 n Idea: apply a stream of edge collapse (ecol) operations ordered by the error they introduce –Measuring error: energy-minimization problem –Reorder local neighborhood edges after collapse n Extension: organize ecol operations in hierarchy instead for view-dependent simp
52
DEEC, 19 of January, 2010 52/55 Progressive Meshes n Pros: –Elaborate energy-minimization metric leads to very high-quality simplifications –Fine-grained control over degree of simplification –Ecol operation reversible (vsplit) and fast enough to support dynamic/view dependent simplification –Supports some neat features: n Can geomorph between LODs n Stream vsplits over network for progressive refinement n Can dynamically generate triangle strips to render faster
53
DEEC, 19 of January, 2010 53/55 Progressive Meshes n Cons –Slow preprocess n Result of elaborate energy metric, not inherent to PM –Not clear that dynamic/view-dependent LOD wins –Extremely fine-grained simplification might be less optimal than coarser clustering at times
54
DEEC, 19 of January, 2010 54/55 Conclusions
55
DEEC, 19 of January, 2010 55/55 The End
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.