160 likes | 308 Views
This guide explores the concepts of mesh decimation and progressive meshes in 3D graphics. It covers key motivations for simplifying large meshes, such as storage efficiency and rendering performance. The framework discussed includes topological operators like vertex removal and edge collapse, alongside techniques for local simplification and fair geometry preservation. The use of progressive meshes allows for dynamic mesh representation, enabling smooth transitions during rendering. Additionally, the guide touches on parameterization, correspondence between vertices, and related issues like mesh compression and selective refinement.
E N D
CS 175 – Week 4Mesh DecimationGeneral Framework, Progressive Meshes
Overview • motivation • general framework • topological operators • progressive meshes • geomorphs • parameterization
Motivation • problems with huge meshes • storage • transmission • editing • rendering
Motivation • redundant information • many triangles in planar region • triangle smaller than a pixel • reduce size • remove vertices, edges, triangles • preserve shape (geometry)
Motivation • non-manifold simplification • vertex clustering • topology may change • manifold simplification • mesh decimation • incremental operation
Motivation • objectives • intuitive control • few parameters • flexibility
Mesh Decimation • general framework • topological operator • local simplification • fairness criterion • cost of local simplification • iteratively apply cheapest simplification
Mesh Decimation • basic algorithm • compute cost of all simplifications • sort into priority queue • while queue not empty • perform cheapest simplification • update queue
Topological Operators • vertex removal • re-triangulate hole • edge collapse • choose new point position • half-edge collapse • purely topological operator
Progressive Meshes • edge collapse c(i,j,r,l) • remove vj and (I,j,l), (j,I,r) • reconnect neighbours of vj with vi • inverse vertex split s(i,j,r,l) • insert vj and (i,j,l), (j,I,r) • reconnect neighbours of vi with vj
Progressive Meshes • store • base mesh M0 • sequence of vertex splits • properties • full sequence of hierarchies • more compact than shared vertex
Geomorphs • interpolate between Mk0 and Mk1 • build correspondence betweenremoved and remaining vertices • vertices in Mk1 have corresponding vertex in Mk0 • linearly interpolate vertex positions • avoids “snapping”
Parameterization • correspondence between removed vertices and remaining triangles • index plus barycentric coordinates • build progressively • exponential map around vj • gives parametric distances
Related Issues • feature lines • collapse vertices to neighbouring feature vertices only • selective refinement • apply vertex splits only in areas that are visible from the viewpoint • e.g. flight simulator
Related Issues • mesh compression • connectivity • 2 bits per vertex • geometry • linear predictors • difference vectors • regular remeshing
Next Session • fairness criteria • Hausdorff distance • first and second order fairness • error quadrics