Presentation is loading. Please wait.

Presentation is loading. Please wait.

3D Mesh Simplification Electrical and Computer Engineering Department University of Coimbra Faculty of Science and Technology Presented by Luis A. Almeida.

Similar presentations


Presentation on theme: "3D Mesh Simplification Electrical and Computer Engineering Department University of Coimbra Faculty of Science and Technology Presented by Luis A. Almeida."— Presentation transcript:

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


Download ppt "3D Mesh Simplification Electrical and Computer Engineering Department University of Coimbra Faculty of Science and Technology Presented by Luis A. Almeida."

Similar presentations


Ads by Google