Download - GAMES Mesh Processing
![Page 1: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/1.jpg)
GAMESMesh Processing
Qixing Huang
August 26th 2021
![Page 2: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/2.jpg)
Material from
A comprehensive book
Well-written
Lecture slides available
![Page 3: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/3.jpg)
Take-home messages
• Approximation error *#faces = const.
• Arbitrary topology
• Flexibility for piecewise smooth surfaces
• Flexibility for adaptive refinement
![Page 4: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/4.jpg)
Take-home messages
• Approximation error *#faces = const.
• Arbitrary topology
• Flexibility for piecewise smooth surfaces
• Flexibility for adaptive refinement
![Page 5: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/5.jpg)
Take-home messages
• Approximation error *#faces = const.
• Arbitrary topology
• Flexibility for piecewise smooth surfaces
• Flexibility for adaptive refinement
![Page 6: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/6.jpg)
Take-home messages
• Approximation error *#faces = const.
• Arbitrary topology
• Flexibility for piecewise smooth surfaces
• Flexibility for adaptive refinement
• Implicit representation can support efficient access to vertices, faces…
![Page 7: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/7.jpg)
Typical Operations
![Page 8: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/8.jpg)
Evaluation
![Page 9: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/9.jpg)
Evaluation
![Page 10: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/10.jpg)
Evaluation
![Page 11: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/11.jpg)
Distance Queries
![Page 12: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/12.jpg)
Modifications
![Page 13: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/13.jpg)
Modifications
![Page 14: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/14.jpg)
Modifications
![Page 15: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/15.jpg)
Mesh Data Structures
• How to store geometry & connectivity?
• Compact storage– File formats
• Efficient algorithms on meshes– identify time-critical operations
– all vertices/edges of a face
– all incident vertices/edges/faces of a vertex
![Page 16: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/16.jpg)
Face Set (STL)
![Page 17: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/17.jpg)
Shared Vertex (OBJ, OFF)
![Page 18: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/18.jpg)
Face-Based Connectivity
• Vertex– Position
– 1 Face
• Face– 3 Vertices
– 3 Face neighbors
![Page 19: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/19.jpg)
Edge-Based Connectivity
• Vertex– Position
– 1 Edge
• Edge– 2 vertices
– 2 faces
– 4 edges
• Face– 1 edge
![Page 20: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/20.jpg)
Halfedge-Based Connectivity
• Vertex– Position
– 1 halfedge
• Halfedge– 1 vertex
– 1 face
– 1,2,or 3 halfedges
• Face– 1 halfedge
![Page 21: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/21.jpg)
One-Ring Traversal
• Start at vertex
![Page 22: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/22.jpg)
One-Ring Traversal
• Start at vertex
• Outgoing halfedge
![Page 23: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/23.jpg)
One-Ring Traversal
• Start at vertex
• Outgoing halfedge
• Opposite halfedge
![Page 24: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/24.jpg)
One-Ring Traversal
• Start at vertex
• Outgoing halfedge
• Opposite halfedge
• Next halfedge
![Page 25: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/25.jpg)
One-Ring Traversal
• Start at vertex
• Outgoing halfedge
• Opposite halfedge
• Next halfedge
• Opposite
![Page 26: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/26.jpg)
One-Ring Traversal
• Start at vertex
• Outgoing halfedge
• Opposite halfedge
• Next halfedge
• Opposite
• Next
• ….
![Page 27: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/27.jpg)
Halfedge-Based Libraries
• CGAL– www.cgal.org
– computational geometry
– free for non-commercial use
• OpenMesh– www.openmesh.org
– Mesh processing
– free, LGPL license
![Page 28: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/28.jpg)
A Bit Differential Geometry
![Page 29: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/29.jpg)
![Page 30: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/30.jpg)
![Page 31: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/31.jpg)
![Page 32: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/32.jpg)
![Page 33: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/33.jpg)
![Page 34: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/34.jpg)
![Page 35: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/35.jpg)
![Page 36: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/36.jpg)
![Page 37: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/37.jpg)
![Page 38: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/38.jpg)
Smoothing
![Page 39: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/39.jpg)
Laplacian Diffusion
![Page 40: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/40.jpg)
Diffusion
![Page 41: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/41.jpg)
Laplacian Smoothing
![Page 42: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/42.jpg)
A Simple Example
![Page 43: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/43.jpg)
A Simple Example
![Page 44: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/44.jpg)
A Simple Example
![Page 45: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/45.jpg)
A Simple Example
![Page 46: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/46.jpg)
A Simple Example
![Page 47: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/47.jpg)
A Simple Example
![Page 48: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/48.jpg)
Laplacian Smoothing
![Page 49: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/49.jpg)
Curvature Flow
![Page 50: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/50.jpg)
Curvature Flow
![Page 51: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/51.jpg)
Comparison
![Page 52: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/52.jpg)
Other approaches
• Smoothing– Membrane energy
– Thin-plate energy
• Alternative approaches– Anisotropic diffusion
– Normal filtering
– Non-linear PDEs
– Bilateral filtering
![Page 53: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/53.jpg)
Remeshing
![Page 54: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/54.jpg)
Remeshing
• Altering the mesh geometry and connectivity to improve quality
• Replacing an arbitrarily structured mesh by a structured one
![Page 55: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/55.jpg)
Isotropic Remeshing
• Well-shaped elements– for processing & simulation (numerical stability
& efficiency)
![Page 56: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/56.jpg)
Iterative Mesh Optimization
• (Area weighted) random scatter (area weighted) random scatter or simply start with the given mesh
• Improve vertex distribution
• Update mesh connectivity
![Page 57: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/57.jpg)
Isotropic remeshing prefers.
• Locally uniform edge length– Remove too short edges -- edge collapses
– Remove too long edges – 2-4 edge split
• Regular valences– Valence balance edge flip
• Uniform vertex distribution– Tangential smoothing Laplacian operator
![Page 58: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/58.jpg)
Local Remeshing Operators
![Page 59: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/59.jpg)
Thresholds Lmin and Lmax
![Page 60: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/60.jpg)
Mesh Simplification & Approximation
![Page 61: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/61.jpg)
Problem Statement
![Page 62: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/62.jpg)
Problem Statement
![Page 63: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/63.jpg)
Problem Statement
![Page 64: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/64.jpg)
Vertex clustering
• Cluster Generation
• Computing a representative
• Mesh generation
• Topology changes
![Page 65: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/65.jpg)
Vertex Clustering
![Page 66: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/66.jpg)
Vertex Clustering
![Page 67: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/67.jpg)
Vertex Clustering
![Page 68: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/68.jpg)
Computing a Representative
![Page 69: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/69.jpg)
Computing a Representative
![Page 70: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/70.jpg)
Computing a Representative
![Page 71: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/71.jpg)
Computing a Representative
![Page 72: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/72.jpg)
Error Quadrics
![Page 73: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/73.jpg)
Error Quadrics
![Page 74: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/74.jpg)
Comparison
![Page 75: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/75.jpg)
Vertex Clustering
![Page 76: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/76.jpg)
Vertex Clustering
![Page 77: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/77.jpg)
Incremental Decimation
• General Setup
• Decimation operators
• Error metrics
• Fairness criteria
• Topology changes
![Page 78: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/78.jpg)
General Setup
![Page 79: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/79.jpg)
Greedy Optimization
![Page 80: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/80.jpg)
Global Error Control
![Page 81: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/81.jpg)
Incremental Decimation
• General Setup
• Decimation operators
• Error metrics
• Fairness criteria
• Topology changes
![Page 82: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/82.jpg)
Decimation Operators
• What is a "region" ?
• What are the DOF for re-triangulation?
• Classification– Topology-changing vs. topology-preserving
– Subsampling vs. filtering
– Inverse operation → progressive meshes
![Page 83: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/83.jpg)
Vertex Removal
![Page 84: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/84.jpg)
Vertex Removal
![Page 85: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/85.jpg)
Vertex Removal
![Page 86: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/86.jpg)
Vertex Removal
![Page 87: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/87.jpg)
Decimation Operators
![Page 88: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/88.jpg)
Decimation Operators
![Page 89: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/89.jpg)
Decimation Operators
![Page 90: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/90.jpg)
Local Error Metrics
![Page 91: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/91.jpg)
Global Error Metrics
![Page 92: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/92.jpg)
Global Error Metrics
![Page 93: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/93.jpg)
Global Error Metrics
![Page 94: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/94.jpg)
Global Error Metrics
![Page 95: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/95.jpg)
Complexity
• N = number of vertices
• Priority queue for half-edges– 6 N * log ( 6 N )
• Error control– Local O(1) -> global O(N)
– Local O(N) -> global O(N2)
![Page 96: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/96.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 97: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/97.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 98: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/98.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 99: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/99.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 100: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/100.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 101: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/101.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 102: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/102.jpg)
Fairness Criteria
• Rate quality of decimation operation– Approximation error
– Triangle shape
– Dihedral angles
– Valence balance
– Color differences
![Page 103: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/103.jpg)
Comparison
• Vertex clustering– fast, but difficult to control simplified mesh
– topology changes, non-manifold meshes
– global error bound, but often not close to optimum
• Iterative decimation with quadric error metrics– good trade-off between mesh quality and speed
– explicit control over mesh topology
– restricting normal deviation improves mesh quality
![Page 104: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/104.jpg)
Mesh Repair
![Page 105: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/105.jpg)
Surface-Oriented Algorithms
• Surface oriented approaches explicitly identify and resolve artifacts
• Methods– Snapping
– Splitting
– Stitching
– …
![Page 106: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/106.jpg)
Surface-Oriented Algorithms
• Advantages– Fast
– Conceptually easy
– Memory friendly
– Structure preserving, minimal modification of the input
![Page 107: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/107.jpg)
Surface-Oriented Algorithms
• Problems– Not robust
• Numerical issues
• Inherent non-robustness
– No quality guarantees on the output
![Page 108: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/108.jpg)
Filling Holes in Meshes
![Page 109: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/109.jpg)
Filling Holes in Meshes
![Page 110: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/110.jpg)
Filling Holes in Meshes
![Page 111: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/111.jpg)
Filling Holes in Meshes
![Page 112: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/112.jpg)
Filling Holes in Meshes
![Page 113: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/113.jpg)
Filling Holes in Meshes
![Page 114: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/114.jpg)
Filling Holes in Meshes
![Page 115: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/115.jpg)
Filling Holes in Meshes
![Page 116: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/116.jpg)
Additional Steps
• Refine the triangulation such that its vertex density matches that of the surrounding area
• Smooth the filling such that its geometry matches that of the surrounding area
![Page 117: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/117.jpg)
![Page 118: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/118.jpg)
Filling Holes in Meshes
• What problems do we encounter?– Islands are not incorporated
– Self-intersections cannot be excluded
– Quality depends on boundary distortion
![Page 119: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/119.jpg)
Volumetric Algorithms
![Page 120: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/120.jpg)
Volumetric Algorithms
![Page 121: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/121.jpg)
Volumetric Algorithms
![Page 122: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/122.jpg)
Volumetric Algorithms
• Advantages– fully automatic
– few (intuitive) user parameters
– Robust
– guaranteed manifold output
![Page 123: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/123.jpg)
Volumetric Algorithms
• Problems– slow and memory intensive
• adaptive data structures
– aliasing and loss of features• feature sensitive reconstruction (EMC, DC)
– loss of mesh structure• bad luck (... hybrid approaches)
– large output• mesh decimation
![Page 124: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/124.jpg)
Nooruddin and Turkʼs Method
• Point classification: Layered depth images (LDI)– Record n layered depth images
– Project the query point x into each depth image
– If any of the images classifies x as exterior, then x is globally classified as exterior else as interior
![Page 125: GAMES Mesh Processing](https://reader031.vdocuments.us/reader031/viewer/2022012016/61da6957fb72d952dc4fecfb/html5/thumbnails/125.jpg)
Summary
• Learn basic operations under the mesh representation
• Learn how to convert other representations into the mesh representation