Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft...
Transcript of Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft...
![Page 1: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/1.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Progressive meshes
Hugue Hoppe , Microsoft Research, Proceedings of the SIGGRAPH 1996
Presented by: Maryia KazakevichMarch 22, 2005
![Page 2: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/2.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Outline• General concepts behind; motivations• Algorithm description
– Overview– Geomorphs– Selective refinement
• PM construction– Mesh simplification– Geometric attributes– Scalar attributes– Discontinuity curves
• Results
![Page 3: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/3.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Motivations
• Highly detailed geometric models in computer graphics• Complex meshes are expensive to store, transmit and
render • Problems:
– Mesh simplification– LOD (Level-of Detail)– Progressive transmission– Mesh compression– Selective refinement
![Page 4: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/4.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Some Concepts• Assume triangular meshes• Mesh representation, M = (K,V, D, S)• Mesh geometry: (K,V)
– K – mesh connectivity– V – {v1, …, vm} , set of vertex positions defining mesh
• Discrete attributes: D– Material identifier – Associates with faces f = {j,k,l} in K
• Scalar attributes: S– Diffuse color, normal, texture coordinates– Associates with corners (v,f) of K
![Page 5: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/5.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Algorithm in general• Single transformation:
![Page 6: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/6.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Algorithm in general
• Simplify into M0 through the sequence of successive transformations:
• Edge collapse is invertible, thus can represent as M0 and a sequence of n split records:
• Progressive mesh representation (PM):
![Page 7: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/7.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Geomorphs
• Smooth visual transition between two meshes:• Construct geomorph MG(α) with , such that,
MG(0) = Mi and MG(1) = Mi+1
– Vertex positions interpolated between the two.
• Can be constructed between any two meshes of the same PM representation:– There is a unique sequence of ecol transformation for
each vertex between the two meshes.
![Page 8: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/8.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Selective refinement
• Detail added to the model only in desired areas– For example a view frustum
• When refining the mesh only perform vsplit for those vertices– That are present in the current mesh together with it’s
neighbours– If it’s neighbourhood is within the refinement area
![Page 9: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/9.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Mesh simplification• Energy metric to measure the accuracy of the simplified mesh:
– E(M) = Edist(M) + Espring(M) +Escalar(M) + Edisc(M)
were:– Edist(M) is a total square distance of the points to the mesh
– Espring(M) is regularizing term that corresponds to placing a spring of rest length 0 and tension k on each edge of the mesh
– Escalar(M) measures the accuracy of the scalar attributes
– Edisc(M) measures the accuracy of the discontinuity curves
![Page 10: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/10.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Mesh simplification• Priority queue of edge collapses:
– For each edge based on the estimated ∆E– Transformation at the front of the queue first (lowest ∆E)– Energy cost and priority of the edges in the
neighbourhood of last transformation are updated at each iteration
– Perform as many transformations as needed to get to the final mesh
– Continuous-resolution family of meshes created
![Page 11: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/11.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Edist (Surface geometry)
• Sample a list of points from the original mesh (at least all of the vertices)
• Edist(M) =
• Minimization problem• Optimizing a position of the new xi vertex• bi – parameterization of the projection of xi on the mesh
![Page 12: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/12.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Espring (Surface geometry)
Espring(M) = Σ k || vj – vk ||2
• Is most important when few points project on the neighbourhood of faces
• k – a function of the ratio of the number of points to the number of faces in the neighbourhood
• Influence decreases as mesh becomes simpler
![Page 13: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/13.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Escalar (Scalar attributes)
• were– are scalar attributes– cscalar is a constant assigning relative weight between
the scalar attributes Escalar and geometric Edist errors
![Page 14: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/14.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Edisc (Discontinuity curves)
• Preserve topologically and geometrically
• Collapsing an edge that modifies the topology of the discontinuity curves is either disallowed or penalized
![Page 15: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/15.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Summary
• Lossless representation• Supports
– Geomorphs– Progressive transmission– Compression– Selective refinement– Geometry and overall appearance of the mesh
• Surface creases• Normals • Shading, radiosity• Color and texture mapping
![Page 16: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/16.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Results
![Page 17: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/17.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Results
![Page 18: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/18.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Results
![Page 19: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/19.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Results
![Page 20: Presented by: Maryia Kazakevich Hugue Hoppe , Microsoft ...webdocs.cs.ualberta.ca/~anup/Courses/604/NOTES/Progressive_Me… · Hugue Hoppe , Microsoft Research, ... Presented by:](https://reader033.fdocuments.net/reader033/viewer/2022060404/5f0f08047e708231d442258e/html5/thumbnails/20.jpg)
Maryia KazakevichMarch 22, 2005
Progressive meshes
Results