3d mesh simplification electrical and computer engineering department university of coimbra faculty...

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

Upload: clinton-bond

Post on 17-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

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

3D Mesh Simplification3D Mesh Simplification

Electrical and Computer Engineering DepartmentElectrical and Computer Engineering Department University of CoimbraFaculty of Science and Technology

Presented by Luis A. Almeida

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 22//5555

SummarySummary Why to simplify polygonal objects?Why to simplify polygonal objects?

– What matters to me most?What matters to me most?

Simplification algorithms taxonomySimplification algorithms taxonomy

Topology, genus,Topology, genus, MechanismsMechanisms

Static, dynamic and view dependent simplificationStatic, dynamic and view dependent simplification

Quadric Error MetricsQuadric Error Metrics

A brief catalog of algorithmsA brief catalog of algorithms

ConclusionsConclusions

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 33//5555

BibliografyBibliografy A Developer’s Survey of Polygonal Simplification Algorithms. A Developer’s Survey of Polygonal Simplification Algorithms.

David Luebke, IEEE Computer Graphics &Applications (May 2001). David Luebke, IEEE Computer Graphics &Applications (May 2001). Heckbert, Paul S., and Michael Garland, "Survey of Polygonal Heckbert, Paul S., and Michael Garland, "Survey of Polygonal

Surface Simplification Algorithms," CMU-CS Technical Report, May Surface Simplification Algorithms," CMU-CS Technical Report, May 1997.http://www.cs.cmu.edu/~ph/1997.http://www.cs.cmu.edu/~ph/

Paolo Cignoni, Claudio Montani, Roberto Scopigno: A comparison Paolo Cignoni, Claudio Montani, Roberto Scopigno: A comparison of mesh simplification algorithms. Computers & Graphics 22(1): of mesh simplification algorithms. Computers & Graphics 22(1): 37-54 (1998)37-54 (1998)

Jonathan D. Cohen , Concepts and Algorithms for Polygonal Jonathan D. Cohen , Concepts and Algorithms for Polygonal Simplification , SIGGRAPH 99 Course Tutorial #20: Interactive Simplification , SIGGRAPH 99 Course Tutorial #20: Interactive Walkthroughs of Large Geometric Datasets. pp. C1-C34. 1999Walkthroughs of Large Geometric Datasets. pp. C1-C34. 1999

Addy Ngan, Simplification of 3D Meshes, Addy Ngan, Simplification of 3D Meshes, http://www.cs.princeton.edu/courses/archive/spr00/cs598b/lecturehttp://www.cs.princeton.edu/courses/archive/spr00/cs598b/lectures/simplification/simplification.pdf s/simplification/simplification.pdf

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 44//5555

Courtesy Stanford 3D Scanning Repository

69,451 polys 2,502 polys 251 polys 76 polys

Simplification of 3D MeshSimplification of 3D Mesh

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 55//5555

Why to simplify polygonal Why to simplify polygonal

objects?objects?

The problem:The problem:– Polygonal models are often too Polygonal models are often too

complex to render at interactive ratescomplex to render at interactive rates Even worse:Even worse:

– Incredibly, models are getting bigger Incredibly, models are getting bigger as fast as hardware is getting faster…as fast as hardware is getting faster…

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 66//5555Courtesy General Dynamics, Electric Boat Div.

Big Models:Big Models:Submarine Torpedo RoomSubmarine Torpedo Room

700,000 polygons700,000 polygons

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 77//5555(Anonymous)

Big Models:Big Models:Coal-fired Power PlantCoal-fired Power Plant

13 million polygons13 million polygons

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 88//5555

16.7 million polygons (sort of)16.7 million polygons (sort of)

Big Models:Big Models:Plant Ecosystem SimulationPlant Ecosystem Simulation

Deussen et al: Deussen et al: Realistic Modeling of Plant EcosystemsRealistic Modeling of Plant Ecosystems

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 99//5555

Big Models:Big Models:The Digital Michelangelo ProjectThe Digital Michelangelo Project

David:David:56,230,343 polygons56,230,343 polygons

St. Matthew:St. Matthew: 372,422,615 polygons 372,422,615 polygons

Courtesy Digital Michelangelo Project

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1010//5555

Why to simplify polygonal Why to simplify polygonal

objects?objects?

First step in picking the right simplification First step in picking the right simplification algorithm is defining the problemalgorithm is defining the problem

Why to simplify? What’ is the goal?Why to simplify? What’ is the goal?– Eliminate redundant geometry?Eliminate redundant geometry?

Ex: the volumetric isosurfaces generate by marching cubes Ex: the volumetric isosurfaces generate by marching cubes algorithm tile the model’s flat regions with many small patchesalgorithm tile the model’s flat regions with many small patches

Subdivide the model for finite-element analysisSubdivide the model for finite-element analysis

– Reduce de model size for the Web?Reduce de model size for the Web? Bandwidth and storage constraintsBandwidth and storage constraints

– Improve runtime performance on rendering scenes?Improve runtime performance on rendering scenes? Generate level of detail (LOD)Generate level of detail (LOD)

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1111//5555

Level of Detail: Level of Detail: The Basic IdeaThe Basic Idea

In its most common form:In its most common form:– Simplify the amount of detail used to Simplify the amount of detail used to

render small or distant objectsrender small or distant objects– Known as Known as Level of DetailLevel of Detail or or LODLOD

A.k.a. polygonal simplification, geometric A.k.a. polygonal simplification, geometric simplification, mesh reduction, simplification, mesh reduction, decimation, multiresolution modeling, …decimation, multiresolution modeling, …

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1212//5555Courtesy Stanford 3D Scanning Repository

69,451 polys 2,502 polys 251 polys 76 polys

Level of Detail:Level of Detail:Traditional ApproachTraditional Approach

CreateCreate levels of detail (LODs) of objects:

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1313//5555

Distant objects use coarser LODs:Distant objects use coarser LODs:

Level of Detail:Level of Detail:Traditional ApproachTraditional Approach

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1414//5555

Creating LODsCreating LODs

How to simplify a polygonal object?How to simplify a polygonal object?– Where should we simplify the object Where should we simplify the object

and where should we preserve detail?and where should we preserve detail?– What mechanism to generate a version What mechanism to generate a version

of the object with fewer polygons?of the object with fewer polygons?

– Recommendations (by David P. Lueke):Recommendations (by David P. Lueke):

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1515//5555

Create a polygonal simplificationCreate a polygonal simplification

What criteria should we try to preserve What criteria should we try to preserve in the simplified object?in the simplified object?– A: A: Its visual appearanceIts visual appearance

Silhouettes matter (Silhouettes matter (so what do we do?so what do we do?)) Large flat regions can be simplifiedLarge flat regions can be simplified Watch for distortion of texture/color/normalsWatch for distortion of texture/color/normals

– Measure fidelity with geometric criteria:Measure fidelity with geometric criteria: Volume swept out by displaced surfaceVolume swept out by displaced surface Distance from old surface to new surfaceDistance from old surface to new surface

– Can use this to estimate silhouette distortion in Can use this to estimate silhouette distortion in screenspacescreenspace

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1616//5555

Topology, Genus, MainfoldTopology, Genus, Mainfold

TopologyTopology refers to the connected refers to the connected polygonal mesh’s structure. polygonal mesh’s structure.

GenusGenus is the number of holes in the is the number of holes in the mesh surfacemesh surface

In a triangulated mesh displaying In a triangulated mesh displaying manifold topologymanifold topology means exactly two means exactly two triangles share every edge, and every triangles share every edge, and every triangle shares an edge with exactly triangle shares an edge with exactly three neighboring triangles.three neighboring triangles.

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1717//5555

Mainifold TopologyMainifold Topology

Manifold meshes result in well-behaved models.

Some algorithms requires manifold input

Other maintain manifold output characteristics

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1818//5555

TopologyTopology

topology-preserving simplification topology-preserving simplification algorithmalgorithm

don’t close holes in the mesh and thereforedon’t close holes in the mesh and therefore preserve the overall genus, preserve the overall genus, simplification limitationssimplification limitations

topology toleranttopology tolerant they ignore regions in the mesh with nonmanifold they ignore regions in the mesh with nonmanifold

local topology, leaving those regions unsimplifiedlocal topology, leaving those regions unsimplified

topology-modifying algorithms topology-modifying algorithms don’t necessarily preserve manifold topologydon’t necessarily preserve manifold topology

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 1919//5555

Create a 1D polygonal Create a 1D polygonal simplificationsimplification

Douglas-Peucker Douglas-Peucker

Algorithm: Algorithm:

1D curve 1D curve

simplificationsimplification

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2020//5555

Create a polygonal Create a polygonal simplificationsimplification

How to generate a version of the How to generate a version of the object with fewer polygons?object with fewer polygons?– Four basic mechanisms:Four basic mechanisms:

Sample-and-reconstructSample-and-reconstruct DecimationDecimation Vertex-mergingVertex-merging Adaptive subdivisionAdaptive subdivision

Static, dynamic and view dependent simplificationStatic, dynamic and view dependent simplification

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2121//5555

Static, dynamic and view Static, dynamic and view dependent simplificationdependent simplification

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2222//5555

Mechanism to create a Mechanism to create a polygonal simplificationpolygonal simplification

Sample and reconstructSample and reconstruct– Scatter surface with sample points, then Scatter surface with sample points, then

recreate using fewer sample points than original recreate using fewer sample points than original surface had verticessurface had vertices

– Where to put the sample points?Where to put the sample points? One answer: scatter at random, then let them repel One answer: scatter at random, then let them repel

each othereach other Answer two: voxels superimposed in 3D gridAnswer two: voxels superimposed in 3D grid

– OverallOverall– Elaborate and difficult to codeElaborate and difficult to code– Not high fidelity since loss of high-frequency feature Not high fidelity since loss of high-frequency feature

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2323//5555

Mechanism to create a Mechanism to create a polygonal simplificationpolygonal simplification

DecimationDecimation– Iteratively remove faces or vertices, retriangulating Iteratively remove faces or vertices, retriangulating

hole created in current surface during the process hole created in current surface during the process (draw it)(draw it)

– Triangulation: well understood problemTriangulation: well understood problem One common algorithm: One common algorithm: Loop splittingLoop splitting

– Pick which face/vertex to remove based on important Pick which face/vertex to remove based on important criteriacriteria

Curvature, size of associated trianglesCurvature, size of associated triangles

– OverallOverall Simple to code, fast, preserve genus, good to remove Simple to code, fast, preserve genus, good to remove

redundant geometry (coplanar polygons)redundant geometry (coplanar polygons)

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2424//5555

Mechanism to create a Mechanism to create a polygonal simplificationpolygonal simplification

Vertex mergingVertex merging– Collapse multiple vertices together Collapse multiple vertices together

and remove degenerate trianglesand remove degenerate triangles– Edge collapseEdge collapse: Specific form of vertex : Specific form of vertex

merge operating on exactly two merge operating on exactly two vertices that share an edgevertices that share an edge

Removes exactly two (adjacent) trianglesRemoves exactly two (adjacent) triangles

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2525//5555

Vertex merging SchemeVertex merging Scheme

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2626//5555

Vertex merging SchemeVertex merging Scheme

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2727//5555

Mechanism to create a Mechanism to create a polygonal simplificationpolygonal simplification

Adaptive subdivisionAdaptive subdivision– Create a very simple Create a very simple base modelbase model that that

represents the modelrepresents the model– Selectively subdivide faces of base Selectively subdivide faces of base

model until fidelity criterion met model until fidelity criterion met (draw)(draw)

– Big potential application: Big potential application: multiresolution modelingmultiresolution modeling

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2828//5555

Algorithm 1: Algorithm 1: Rossignac-Borrel (vertice Rossignac-Borrel (vertice

merging)merging)

Rossignac and Borrel, 1992Rossignac and Borrel, 1992 Apply a uniform 3D grid to the objectApply a uniform 3D grid to the object Collapse all vertices in each grid cell Collapse all vertices in each grid cell

to single to single most importantmost important vertex, vertex, defined by:defined by:– Curvature (1 / maximum edge angle)Curvature (1 / maximum edge angle)– Size of polygons (edge length)Size of polygons (edge length)

Filter out degenerate polygonsFilter out degenerate polygons

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 2929//5555

Rossignac-BorrelRossignac-Borrel

Resolution of grid determines Resolution of grid determines degree of simplificationdegree of simplification– Coarse grid Coarse grid lots of simplification lots of simplification– Fine grid Fine grid little simplification little simplification

Representing degenerate trianglesRepresenting degenerate triangles– Edges Edges use OpenGL line primitive use OpenGL line primitive– Points Points use OpenGL point primitive use OpenGL point primitive

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3030//5555

Rossignac-BorrelRossignac-Borrel

Low and Tan, 1997Low and Tan, 1997– Refinement of Rossignac-BorrelRefinement of Rossignac-Borrel

Use cos(max edge angle/2) for curvatureUse cos(max edge angle/2) for curvature Floating-cell clusteringFloating-cell clustering Thick lines and dynamic shadingThick lines and dynamic shading

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3131//5555

Rossignac-BorrelRossignac-Borrel

ProsPros– Fast, very fastFast, very fast– Robust (topology-insensitive)Robust (topology-insensitive)

ConsCons– Difficult to specify simplification degreeDifficult to specify simplification degree– Low fidelity (topology-insensitive)Low fidelity (topology-insensitive)– Underlying grid creates sensitivity to Underlying grid creates sensitivity to

model orientation in Rossignac-Borrelmodel orientation in Rossignac-Borrel

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3232//5555

Rossignac-BorrelRossignac-Borrel

Rossignac-Borrel Rossignac-Borrel

examples:examples:

10,108 polys 1,383 polys 474 polys 46 polys

Courtesy IBM

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3333//5555

Algorithm 2: Algorithm 2: Schroeder (Decimation)Schroeder (Decimation)

Multiple passes over all the vertices in Multiple passes over all the vertices in the modelthe model

Try to delete each vertice if removal do Try to delete each vertice if removal do not damage neighborhood’s local not damage neighborhood’s local topology topology

and resulting surface lies within a user-and resulting surface lies within a user-specified distance from the original specified distance from the original modelmodel

The remaining holes are retriangulatedThe remaining holes are retriangulated

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3434//5555

Re-tiling (Turk 92)Re-tiling (Turk 92)

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3535//5555

Quadric Error MetricsQuadric Error Metrics

What is a What is a quadricquadric in this algorithm? in this algorithm? How is it calculated?How is it calculated? How is it used?How is it used?

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3636//5555

Quadric Error MetricQuadric Error Metric Minimize distance to all planes at a vertexMinimize distance to all planes at a vertex Plane equation for each face:Plane equation for each face:

0 :p DCzByAx

v

1

z

y

x

DCBAT vp

Distance to vertex v :

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3737//5555

Quadric DerivationQuadric Derivation

)(

))((vplanesp

TT vppv

)(

)(vplanesp

TT vppv

vppvvplanesp

TT

)(

)(

2 )()(vplanesp

T vpv

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3838//5555

Quadric Derivation Quadric Derivation (cont’d)(cont’d)

ppT is simply the plane equation squared:

The ppT sum at a vertex v is a matrix, Q:

vQvv T )(

2

2

2

2

DCDBDAD

CDCBCAC

BDBCBAB

ADACABA

ppT

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 3939//5555

Construct a quadric Q for every vertexConstruct a quadric Q for every vertex

Q1 Q2

v2v1

Q

1T

1 Qvvcost edge

Sort edges based on edge cost Suppose we contract to v1:

v1’s new quadric is simply:

Q

21 QQQ

The edge quadric:

Using QuadricsUsing Quadrics

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4040//5555

Using QuadricsUsing Quadrics

Minimize Q to calculate optimal coordinates Minimize Q to calculate optimal coordinates for placing new vertexfor placing new vertex– Details in paper; involves inverting QDetails in paper; involves inverting Q– Authors claim 40-50% less errorAuthors claim 40-50% less error

Boundary preservation: add planes Boundary preservation: add planes perpendicular to perpendicular to boundary edgesboundary edges

Prevent foldovers: check for normal flippingPrevent foldovers: check for normal flipping Create Create virtual edgesvirtual edges between vertices closer between vertices closer

than some thresholdthan some threshold

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4141//5555

Boundary PreservationBoundary Preservation

To preserve important boundaries, label To preserve important boundaries, label edges as normal or edges as normal or discontinuitydiscontinuity

For each face with a discontinuity, a For each face with a discontinuity, a plane perpendicular intersecting the plane perpendicular intersecting the discontinuous edge is formed.discontinuous edge is formed.

These planes are then converted into These planes are then converted into quadrics, and can be weighted more quadrics, and can be weighted more heavily with respect to error value.heavily with respect to error value.

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4242//5555

Simplification EnvelopesSimplification Envelopes

What is the basic approach of SE?What is the basic approach of SE? What is the underlying What is the underlying

mechanism?mechanism? What do they guarantee?What do they guarantee?

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4343//5555

Simplification EnvelopesSimplification Envelopes

Idea: keep simplification between inner and Idea: keep simplification between inner and outer outer offset surfacesoffset surfaces (draw it) (draw it)

AlgorithmAlgorithm::– Set maximum offset Set maximum offset – Generate offset surfaces (avoid self-Generate offset surfaces (avoid self-

intersections!)intersections!)– Do all simplification operations that don’t cause Do all simplification operations that don’t cause

intersection (using decimation, edge collapse, etc)intersection (using decimation, edge collapse, etc) Guarantee: silhouette will not deviate by Guarantee: silhouette will not deviate by

more than more than /z pixels/z pixels

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4444//5555

Simplification EnvelopesSimplification Envelopes

Pros:Pros:– Guaranteed silhouette fidelity boundsGuaranteed silhouette fidelity bounds– Guaranteed to preserve global Guaranteed to preserve global

topology:topology: Same genusSame genus No self-intersectionsNo self-intersections Why might these be important?Why might these be important?

– Very high fidelity in practiceVery high fidelity in practice

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4545//5555

Simplification EnvelopesSimplification Envelopes

ConsCons– Slow, very slowSlow, very slow– Complex and finicky to codeComplex and finicky to code– Requires valid manifold topology to begin Requires valid manifold topology to begin

withwith– Even if silhouette distortion is < 1 pixel, can Even if silhouette distortion is < 1 pixel, can

still introduce visible artifactsstill introduce visible artifacts– Can you think of a surface that could be Can you think of a surface that could be

simplified to within a very small distance simplified to within a very small distance and look completely different?and look completely different?

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4646//5555

Appearance-Preserving Appearance-Preserving SimplificationSimplification

Cohen, Olano, and Manocha, SIGGRAPH 98 Cohen, Olano, and Manocha, SIGGRAPH 98 Track Track texture distortiontexture distortion as underlying mesh as underlying mesh

is simplified, as well as geometric distortionis simplified, as well as geometric distortion– Bound this distortion with world-space Bound this distortion with world-space , can , can

translate to screen-space pixel boundtranslate to screen-space pixel bound– Problem: color comes from lighting calculations Problem: color comes from lighting calculations

as well as intrinsic color captured in texture mapas well as intrinsic color captured in texture map– Solution: store lighting parameters in Solution: store lighting parameters in normal normal

mapmap– If If < 1 pixel, can truly < 1 pixel, can truly guaranteeguarantee visual fidelity visual fidelity

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4747//5555

Appearance-Preserving Appearance-Preserving SimplificationSimplification

LODs with and without normal LODs with and without normal mapping:mapping:

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4848//5555

Image-Driven Image-Driven SimplificationSimplification

Lindstrom & Turk, ACM Lindstrom & Turk, ACM TOG 2000TOG 2000

Compare Compare simplifications to simplifications to original original via imagesvia images– Do edge collapse, Do edge collapse,

render from 12-20 viewsrender from 12-20 views– Evaluate difference Evaluate difference

((how?how?))– ““Unrender” (Unrender” (how?how?) and ) and

try againtry again– Pick cheapest and applyPick cheapest and apply

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 4949//5555

Image-Driven Image-Driven SimplificationSimplification

Pros: Pros: – Does a great job preserving appearanceDoes a great job preserving appearance– Solves the question of how to trade off Solves the question of how to trade off

geometric distance versus geometric distance versus color/normal/texture attributescolor/normal/texture attributes

– Pays attention to shading artifactsPays attention to shading artifacts– Sensitive to texture contentSensitive to texture content– Drastically simplifies invisible regions!Drastically simplifies invisible regions!

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5050//5555

Image-Driven Image-Driven SimplificationSimplification

Cons:Cons:– Slow, Slow, veryvery slow slow– Can always contrive an example that Can always contrive an example that

breaks it:breaks it: Hard to know how many images is Hard to know how many images is

enoughenough Hard to know how to evaluate images Hard to know how to evaluate images

(RMS vs (RMS vs Bolin-Meyer)Bolin-Meyer)

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5151//5555

Progressive MeshesProgressive Meshes

Hoppe, SIGGRAPH 96Hoppe, SIGGRAPH 96 Idea: apply a stream of edge collapse (Idea: apply a stream of edge collapse (ecolecol) )

operations ordered by the error they operations ordered by the error they introduceintroduce– Measuring error: energy-minimization problemMeasuring error: energy-minimization problem– Reorder local neighborhood edges after collapseReorder local neighborhood edges after collapse

Extension: organize ecol operations in Extension: organize ecol operations in hierarchy instead for view-dependent simphierarchy instead for view-dependent simp

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5252//5555

Progressive MeshesProgressive Meshes

Pros: Pros: – Elaborate energy-minimization metric leads to Elaborate energy-minimization metric leads to

very high-quality simplificationsvery high-quality simplifications– Fine-grained control over degree of simplification Fine-grained control over degree of simplification – Ecol operation reversible (Ecol operation reversible (vsplitvsplit) and fast enough ) and fast enough

to support dynamic/view dependent simplificationto support dynamic/view dependent simplification– Supports some neat features:Supports some neat features:

Can Can geomorphgeomorph between LODs between LODs Stream vsplits over network for progressive refinementStream vsplits over network for progressive refinement Can dynamically generate triangle strips to render faster Can dynamically generate triangle strips to render faster

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5353//5555

Progressive MeshesProgressive Meshes

ConsCons– Slow preprocess Slow preprocess

Result of elaborate energy metric, not Result of elaborate energy metric, not inherent to PMinherent to PM

– Not clear that dynamic/view-Not clear that dynamic/view-dependent LOD winsdependent LOD wins

– Extremely fine-grained simplification Extremely fine-grained simplification might be less optimal than coarser might be less optimal than coarser clustering at timesclustering at times

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5454//5555

ConclusionsConclusions

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

DEEC, DEEC, 19 of January, 201019 of January, 2010 5555//5555

The EndThe End