Download presentation
Presentation is loading. Please wait.
Published byAnastasia Gray Modified over 9 years ago
1
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke cs551dl@cs.virginia.eduhttp://www.cs.virginia.edu/~cs551dl
2
DPL10/16/2015 Assignment 3 Issues Dynamic LOD Dynamic LOD –Have to turn in modified viewer Winged-edge structures Winged-edge structures –Probably not worth the trouble Other questions? Other questions?
3
DPL10/16/2015 50 Vertices500 Vertices2000 Vertices Model courtesy of InfoGraphica Recap: Level of Detail
4
DPL10/16/2015 Recap: Creating LODs Creating LODs Creating LODs –Polygon elision mechanisms Sampling Sampling Decimation Decimation Vertex-merging (edge-collapsing) Vertex-merging (edge-collapsing) Adaptive subdivision Adaptive subdivision –What criteria to guide simplification? Visual/perceptual criteria are hard Visual/perceptual criteria are hard Geometric criteria are more common Geometric criteria are more common
5
DPL10/16/2015 Recap: Vertex Clustering Rossignac/Borrel: uniform 3D grid Rossignac/Borrel: uniform 3D grid –Rank vertices –Collapse all verts to most important –Filter out degenerate polygons Low-Tan: floating cell clustering Low-Tan: floating cell clustering –Center cells on most important vertices –Collapse to nearest containing cell –Rank slightly differently (cos /2)
6
DPL10/16/2015 Decimation The algorithm: multiple passes over al model vertices The algorithm: multiple passes over al model vertices –Consider each vertex for deletion Characterize local geometyr/topology Characterize local geometyr/topology Evaluate criteria & possibly delete vertex with surrounding triangles Evaluate criteria & possibly delete vertex with surrounding triangles If deleted, triangulate resulting hole If deleted, triangulate resulting hole
7
DPL10/16/2015 Decimation Issues Characterizing vertices Characterizing vertices Decimation criteria Decimation criteria –Simple vertices: distance to plane –Boundary & edge vertices: distance to edge Triangulating holes: loop splitting Triangulating holes: loop splitting
8
DPL10/16/2015 Edge Collapse Algorithm V1V1 V2V2 V2V2 Collapse
9
DPL10/16/2015 Edge Collapse Algorithm Sort all edges (by some metric) repeat Collapse edge choose edge vertex (or compute optimal vertex) Fix-up topology until (no edges left)
10
DPL10/16/2015 Edge Collapse Benefits Edge collapse operation is simple Edge collapse operation is simple Supports non-manifold topology: Supports non-manifold topology:
11
DPL10/16/2015 Edge Collapse vs. Vertex-Pair Merging Even better: vertex-pair merging merges two vertices that: Even better: vertex-pair merging merges two vertices that: –Share an edge, or –Are within some threshold distance t Q: What does vertex-pair merging enable over edge collapse? Q: What does vertex-pair merging enable over edge collapse?
12
DPL10/16/2015 Quadric Error Metric Minimize distance to all planes at a vertex Minimize 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 DCBA T vp Distance to vertex v : Distance to vertex v :
13
DPL10/16/2015 Squared Distance At a Vertex )( ))(( vplanesp TT vppv )( )( v p TT vppv v v vplanesp TT )( )( 2 )()( v p T vpv
14
DPL10/16/2015 Quadric Derivation (cont’d) pp T is simply the plane equation squared: pp T is simply the plane equation squared: The pp T sum at a vertex v is a matrix, Q: The pp T sum at a vertex v is a matrix, Q: vQvv T )( 2 2 2 2 DCDBDAD CDCBCAC BDBCBAB ADACABA pp T
15
DPL10/16/2015 Construct a quadric Q for every vertex Construct a quadric Q for every vertex Q1Q1 Q2Q2 v2v2 v1v1 Q 1 T 1 Qvvcost edge Sort edges based on edge cost Sort edges based on edge cost –Suppose we contract to v 1 : –v 1 ’s new quadric is simply: Q 21 QQQ The edge quadric: Using Quadrics
16
DPL10/16/2015 Optimal Vertex Placement Each vertex has a quadric error metric Q associated with it Each vertex has a quadric error metric Q associated with it –Error is zero for original vertices –Error nonzero for vertices created by merge operation(s) Minimize Q to calculate optimal coordinates for placing new vertex Minimize Q to calculate optimal coordinates for placing new vertex –Details in paper –Authors claim 40-50% less error
17
DPL10/16/2015 Boundary Preservation To preserve important boundaries, label edges as normal or discontinuity To preserve important boundaries, label edges as normal or discontinuity For each face with a discontinuity, a plane perpendicular intersecting the discontinuous edge is formed. For each face with a discontinuity, a plane perpendicular intersecting the discontinuous edge is formed. These planes are then converted into quadrics, and can be weighted more heavily with respect to error value. These planes are then converted into quadrics, and can be weighted more heavily with respect to error value.
18
DPL10/16/2015 Preventing Mesh Inversion Preventing foldovers: Preventing foldovers: Calculate the adjacent face normals, then test if they would flip after simplification Calculate the adjacent face normals, then test if they would flip after simplification If so, that simplification can be weighted heavier or disallowed. If so, that simplification can be weighted heavier or disallowed. 10 54 6 1 3 2 9 A 7 8 54 6 3 2 8 9 A merge
19
DPL10/16/2015 Quadric Error Metric Pros: Pros: –Fast! (bunny to 100 polygons: 15 sec) –Good fidelity even for drastic reduction –Robust -- handles non-manifold surfaces –Aggregation -- can merge objects
20
DPL10/16/2015 Quadric Error Metric Cons: Cons: –Introduces non-manifold surfaces (bug or feature?) –Tweak factor t is ugly Too large: O(n 2 ) running time Too large: O(n 2 ) running time Correct value varies with model density Correct value varies with model density –Needs further extension to handle color (7x7 matrices)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.