370 likes | 510 Views
Progressive Meshes (SIGGRAPH ’96). By Hugues Hoppe Presented by Yong Kil and Christopher Co. 13,000. 1,000. 200. Previous Work. [Schroeder-etal92] (decimation) [Turk92] (re-tiling) [Hoppe-etal93] (mesh optimization) [Rossignac-Borrel93] (vertex clustering)
E N D
Progressive Meshes(SIGGRAPH ’96) By Hugues Hoppe Presented by Yong Kil and Christopher Co Multiresolution (ECS 289L) - Winter 2003
13,000 1,000 200 Previous Work [Schroeder-etal92] (decimation) [Turk92] (re-tiling) [Hoppe-etal93] (mesh optimization) [Rossignac-Borrel93] (vertex clustering) [Cohen-etal96] (simplification envelopes) ... MRA (later) ? Multiresolution (ECS 289L) - Winter 2003
150 152 500 13,546 M0 M1 M175 Mn M0 Mn vspl0 … vspli … … vspli … vspln-1 vspl0 vspln-1 progressive mesh (PM) representation Introduction • What is Progressive Mesh? Arbitrary mesh Mstored as coarser mesh M0 together with a sequence of n detail records that indicate how to incrementally refine M0 exactly back into the original mesh M= Mn. Multiresolution (ECS 289L) - Winter 2003
ecol(vs ,vt , vs) ’ vt vl vl vr vr vs ’ vs vspl(s,l,r,t, A) Discrete values: associated with faces. I.e. material identifier such as texture map. Scalar values: associated with corners (vertex, face). E.g color, normal, texture coordinate. Edge Collapse and Vertex Split A = ( {vs ,vt }, {discrete values}, {scalar values} ) Multiresolution (ECS 289L) - Winter 2003
PM Construction ecol(vs ,vt , vs) ’ vt vl vl vr vr vs ’ vs vspl(vs ,vl ,vr , A) 13,546 500 152 150 faces Mn M175 M1 M0 ecoln-1 ecol0 ecoli Multiresolution (ECS 289L) - Winter 2003
Sample Points X (b) Sampled points X= {x1, x2, …, xn} (a) Object to be sampled Mesh Simplification • Which edge to collapse? • Minimize the Energy Function: • E(M) = Edist(M) + Espring(M) + Escalar(M) + Edisc(M) • For each potential edge collapse, calculate ∆E and add to priority queue. • Pop edge from queue (with lowest ∆E) and collapse. • Update affected edges and every pop next edge. Multiresolution (ECS 289L) - Winter 2003
Surface of M Distance Energy Multiresolution (ECS 289L) - Winter 2003
Spring Energy Multiresolution (ECS 289L) - Winter 2003
Distance and Spring • Where to collapse to have local minimum energy? • Mesh Optimization (Hoppe ’93) creates non-linear equations and solves using iterative method. • PM chooses 3 locations out of the infinite set: {0, 0.5, 1} ? vt vs ’ vs ’ vs Multiresolution (ECS 289L) - Winter 2003
Scalar Energy Multiresolution (ECS 289L) - Winter 2003
Discontinuity Energy • Sharp Edge (in yellow) • Boundary edge • Two adjacent faces have different discrete attributes • Adjacent corners have different scalar attributes. xi Multiresolution (ECS 289L) - Winter 2003
13,546 500 152 150 faces Mn M175 M1 M0 Using PM – LOD Each intermediate representation of the mesh can be considered a LOD Multiresolution (ECS 289L) - Winter 2003
Using PM – Transmission and Compression • Transmission • Transmit M0, then transmit sequence of vsplit records • Compression • Use connectivity coding and efficient use of bits • Use delta-encoding to reduce storage of scalar attributes • Coherence in mesh attributes can be exploited Multiresolution (ECS 289L) - Winter 2003
Geomorph • Alpha blend between different resolutions to avoid “snapping” • Blending occurs between each pair of vertices related by edge collapses performed (ancestor map) Multiresolution (ECS 289L) - Winter 2003
Selective Refinement vspl0 vspl1 vspli-1 vspln-1 M0 Multiresolution (ECS 289L) - Winter 2003
Selective Refinement Perform vspl( si, li, ri, Ai ) if: • (1) vertices {si,li,ri} exist • (2) REFINE(si) is true REFINE(si) is defined per application Relax constraint • (1’) vertex si and A’(li) and A’(ri) exist • Perform vspl( si, A’(li), A’(ri), Ai ) A’() is an ancestor map similar to that used by geomorphin Multiresolution (ECS 289L) - Winter 2003
Previous Work - MRA • Multiresolution Analysis (MRA) • Analysis produces base mesh with wavelet coefficients (B) using filter A • Synthesis produces mesh of desired resolution using a refining filter and a perturbing filter • Figure courtesy of Lounsbery, et al. (`94) Multiresolution (ECS 289L) - Winter 2003
PM vs. MRA • Advantages of MRA • encodes geometry & color independently • supports multiresolution editing • guarantees maximum error bound • Advantages of PM • lossless • can be more accurate • captures discrete attributes • captures discontinuities (creases) Multiresolution (ECS 289L) - Winter 2003
Results – PM vs. MRA Multiresolution (ECS 289L) - Winter 2003
Results – Escalar Multiresolution (ECS 289L) - Winter 2003
Results – Radiosity Solution Multiresolution (ECS 289L) - Winter 2003
Conclusion • Contribution: PM data structure • Advantages • Solves a variety of problems (LOD, Progressive Transmission, Selective Refinement, etc.) • Deals with various mesh attributes aside from geometry • Disadvantages • Mesh parameterization can be non-intuitive • Energy function is complex Multiresolution (ECS 289L) - Winter 2003
corner Sharing Mesh Attributes vertex wedge face Multiresolution (ECS 289L) - Winter 2003
Mf-1 Mf-2 v1 v1 v2 v2 ecol ecol v3 v3 v4 v4 ecol v5 v5 v6 v6 v7 Vertex Correspondence Mf Mc M0 v1 v1 Mn v2 v2 v3 v3 v4 v5 v6 v7 v8 Multiresolution (ECS 289L) - Winter 2003
Select refine b b a a Multiresolution (ECS 289L) - Winter 2003
Misc • MRA vs PM? • Review of PM • Selective refinement as primary contribution. • What improvements have been made from this paper. • i.e. who refers to this paper? Multiresolution (ECS 289L) - Winter 2003
Figures Multiresolution (ECS 289L) - Winter 2003
corner vertex face Multiresolution (ECS 289L) - Winter 2003
{f1} : { v1, v2 , v3 }{f2} : { v3 , v2 , v4 }… connectivity {v1} : (x,y,z){v2} : (x,y,z)… geometry {f1} : “skin material”{f2} : “brown hair”… face attributes Multiresolution (ECS 289L) - Winter 2003
{f1} : { v1, v2 , v3 }{f2} : { v3 , v2 , v4 }… connectivity {v1} : (x,y,z){v2} : (x,y,z)… geometry {f1} : “skin material”{f2} : “brown hair”… face attributes {v2,f1} : (nx,ny,nz) (u,v){v2,f2} : (nx,ny,nz) (u,v)… corner attrib. Multiresolution (ECS 289L) - Winter 2003
PM benefit Mn PM Vn lossless M0 Fn vspl attributes • single resolution • progressive transmission • continuous-resolution • smooth LOD • geometry compression Multiresolution (ECS 289L) - Winter 2003
ecol(vs ,vt , vs) ’ vt vl vl vr vr vs ’ vs Multiresolution (ECS 289L) - Winter 2003
Vertex Split attributes vspl(vs ,vl ,vr , vs,vt,…) ’ ’ ’ vt vl vr vl vr vs vs ’ Multiresolution (ECS 289L) - Winter 2003
150 152 500 13,546 M0 M1 M175 Mn M0 Mn vspl0 … vspli … … vspli … vspln-1 vspl0 vspln-1 progressive mesh (PM) representation Reconstruction Multiresolution (ECS 289L) - Winter 2003