270 likes | 439 Views
Progressive Meshes. A Talk by Wallner and Wurzer for the overfull MathMeth auditorium. What it‘s all about. Overview. Advantages PM‘s Definition and Basics GeoMorphs Mesh Compression Selective Refinement Construction. Let‘s start off. Advantages of PM‘s. Mesh Simplification
E N D
Progressive Meshes A Talk by Wallner and Wurzer for the overfull MathMeth auditorium
Overview • Advantages PM‘s • Definition and Basics • GeoMorphs • Mesh Compression • Selective Refinement • Construction
Advantages of PM‘s • Mesh Simplification • LOD Approximation • Progressive Transmission • Mesh Compression • Selective Refinement
Definition and Basics (1) • A corner is a (vertex,face) tuple • We are speaking of a sharp edge if • it is a boundary adge • the adjacent faces have different discrete values or • adjacent corners have different scalar values
M0 Definition and Basics (2) • Traditional Mesh • Progressive Mesh (M0,{Vsplit0… Vsplitn-1}) K V
Definition and Basics (3) lossless ! vsplit vt vr vl vl vr vs ’ vs ecol
^ ^ M ... Full-Detailed Mesh (all vertices) M=Mn Definitions and Basics (4) M0 ... Minimal Detailed Version 13,546 500 152 150 M175 M1 M0 ecoln-1 ecol0 ecoli
Geomorph • Smooth visual transition between two meshes Mf, Mc Mf Mc v1 v1 v2 v2 Mf«c v3 v3 v4 V V F v5 v6 v7 PM with geomorph v8
Mesh Compression vspl(vs ,vl ,vr ,vs,vt,…) ’ ’ • Record deltas: • vt - vs • vs - vs • … vt ’ ’ vl vl vr vr vs ’ vs ’
Selective Refinement vspl0 vspl1 vspli-1 vspln-1 M0
Selective Refinement (2) • Rules for the vertex splits: • All involved vertices are present • doRefine(v) == TRUE neighbours should be further refined • vertex is absent a previous vertex split was not executed, based on the two upper rules
Selective Refinement (3) ViewFrustum Split not performed... ...because this split wasnot performed... ...which makes this vertex „not present“
Selective Refinement (4) ViewFrustum if this would be present
Construction Task: Construct Mn-1, Mn-2, ... M0 Naive Algorithm: { select random edge to collapse until resolution M0 faces }
Construction (2) • Problems of naive algorithm: • Geometry is not preserved • Color, Normals etc. are not preserved • Discontinuities are not preserved
Construction (3) • Better algorithm: • (Re-)Sample object • Simplify Object • Use energy function to measure accuracy • Extend to preserve... • surface geometry • color and normals • discontinuities
Energy Function E(V)= Edist(V) + Espring(V) + Escalar(V)+Edisc(V) E negative perform split (= less energy used for simplified mesh) furtherexplanations
PM have many advantages: lossless captures discrete attributes captures discontinuities continuous-resolution smooth LOD space-efficient progressive Summary
Links (1) • Progressive Meshes [ Hoppe ] http://research.microsoft.com/~hoppe/(all images in this talk except those explicitly labeled courtesy of H. Hoppe)
Links (2) • quadric error metric scheme [ Garland and Heckbert ] http://graphics.cs.uiuc.edu/~garland/papers.html • memoryless scheme [ Lindstrom and Turk ] http://www.cs.gatech.edu/gvu/people/Phd/Peter.Lindstrom.html
Thank you for your attention ! Progressive Meshes Wallner and Wurzer
Discussion Note • Problem of this approach: pictures courtesy of Markus Gross
Discussion Note • Better Approach: picture courtesy of Markus Gross