CS 526 - Computer Graphics II Decimation Cristian Luciano
Contents Goals of decimation Levels of details Topology preserving algorithms: “Decimation of triangle meshes” Schroeder, Zarge, Lorenzen (General Electric Co.) “Progressive meshes” Hugues Hoppe (Microsoft Research) Topology simplifying algorithm: “A topology modifying progressive decimation algorithm” William Schroeder (GE Corporate R&D Center) Conclusions
Goals of Decimation Reduce number of triangles in a triangle mesh Maintain a good approximation to the original appearance
Levels of Detail d1 d2 Two approaches: Distance LOD Screen-Size LOD
“Decimation of triangle meshes” by Schroeder, Zarge, Lorenzen (SIGGRAPH’92) For each point in the triangle mesh Classify point and topology in the neighborhood of the point If (the point can be deleted) then Delete point Triangulate the resulting hole
What kind of point is this? Candidates for deletion Interior Edge Simple Boundary Complex Corner
What is the error if the point is deleted? Interior Edge Simple Boundary d Average plane d boundary If (distance is less than d) then Delete point Delete all triangles using the point
What to do after point deletion? The resulting hole has to be triangulated Recursive 3D divide-and-conquer technique Now: three polygons Before: five polygons
Results Original mesh 90% decimated
“Progressive meshes” by Hugues Hoppe (SIGGRAPH’96) Progressive mesh = series of triangles meshes related by two invertible operations: Edge collapse Edge split S
Mesh simplification and reconstruction Edge collapse 13,546 500 152 150 Thus the simplification starts with the original mesh, denoted M^n, and through a sequence of edge collapse transformations, simplifies it down to a very coarse base mesh, M^0. <click> You can see the effect of the very last edge collapse transforming M^1 into M^0; it removes the last window from the airplane. Edge split
Results
Modifies mesh topology to obtain more reduction “A topology modifying progressive decimation algorithm” by William Schroeder (IEEE Visualization’97) Basically combines: “Decimation of triangle meshes” “Progressing meshes” Modifies mesh topology to obtain more reduction Red edges = mesh boundaries Green edges = manifold or interior edges
Vertex split and merge Interior Edge Corner Complex Simple Vertex merge Interior Edge Complex Corner Simple
Results
Conclusions Three techniques to reduce number of polygons Two preserving topology algorithms One simplifying topology algorithm How to classify points for decimation: Simple, complex, boundary, interior edge, corner Preserving topology operations: Edge collapse Edge split Simplifying topology operations: Vertex split Vertex merge Results of three algorithms
Thanks! Any questions? Any comments?