1 / 72

3D Model Simplification (GATE-540)

3D Model Simplification (GATE-540). Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : cagatay@undeger.com. References: David P. Luebke, A Developer’s Survey of Polygonal Simplification Algorithms

bien
Télécharger la présentation

3D Model Simplification (GATE-540)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D Model Simplification(GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : cagatay@undeger.com References: David P. Luebke, A Developer’s Survey of Polygonal Simplification Algorithms Mark Duchaineau et al. ROAMing Terrain: Real-Time Optimally Adapting Meshes Game Technologies Program – Middle East Technical University – Spring 2010

  2. Outline • Introduction to Simplification • Simplification Algorithm Selection Criteria • Kinds of Simplification Algorithms • Brief Description of Simplification Algorithms

  3. Polygonal Models • Currently dominate interactivecomputer graphics because of • Their mathematical simplicity and • Their simple, regular renderingalgorithms that embed well in hardware.

  4. Difficulties of Polygonal Models • Complexity of polygonal models are measured by the number of polygons • Complexity of required models seems to grow faster than the ability of ourgraphics hardware to render theminteractively.

  5. Polygonal Simplification • Offers one solutionfor developers to deal with these complex models.

  6. Polygonal Simplification • Flight simulators have long used hand-crafted multi-resolution airplane models to guarantee a constant frame rate. • In this course, we will deal with automated simplification of these models.

  7. Determining Appropriate Algorithm • Need to answer several questions: • Why do I need to simplify models? • What do my models seem like? • What is important to me the most?

  8. Why do I Need to Simplify? • Trying to eliminate redundant geometry? • e.g. Volumetric iso-surfacesgenerated by the marching cubes algorithm tile themodel’s flat regions with many small, coplanar triangles? • After subdivision of a model for finite-element analysis, a simplificationalgorithm is required to removeunnecessary geometry?

  9. Why do I Need to Simplify? • Trying to reduce model size? • Geometric compression? • Creating a downloadable models for a Web site? • Minimizing storage requirements?

  10. Why do I Need to Simplify? • Trying to improve runtime performance? • Generating levels of detail (LODs) of the objects in a scene? • Simplifying the polygonal scene being rendered, • By representing distant objects with a lower LOD and nearby objects with a higher LOD?

  11. What do My Models Seem Like? • No algorithm today exists that simplifying all models sucessully. • Organic forms with smooth curves. • Mechanical objects with sharp corners, flat faces, and regular curves. • Precomputed colors, lighting or texture that must be considered.

  12. What do My Models Seem Like? • A few large, high-complexity, individual objects (e.g. terrain data, medical data). • Multiple objects of moderate complexity. • Large assemblies of many small objects.

  13. What is Important to Me? • Preserve accuracy in the simplified models? • Control the Hausdorff distance of the simplified vertices / surface to the original • Bound the volumetric deviation of the simplified mesh from the original... • Just want high visual fidelity? • Perception is more difficult to quantify than geometry • Preserve model’s topological genus?

  14. What is Important to Me? • If run-time performance is crucial, • You may need an algorithm capable of drastic simplification. • A drastic simplification may require: • View-depended simplification • Topology-reduction simplification

  15. Kinds of Algorithms • Many approaches, each with strengths andweaknesses. • Treatment of mesh topology • Simplification mechanism • Static, dynamic, view-depended

  16. Treatment of Mesh Topology • Provides an important distinction • Topology: connected polygonal mesh structure • Genus: number of holes in the mesh surface Genus of zero Genus of one Genus of three

  17. Treatment of Mesh Topology • The mesh forms a 2D manifold • if the neighborhood of every feature consists of aconnected ring of polygons forming a single surface. • In a triangulated manifold mesh: • Exactly two triangles share every edge, and • Every triangle shares an edge with exactly three neighboringtriangles. (accept borders)

  18. Treatment of Mesh Topology • Manifold meshes result in well-behaved models. • Any simplification algorithm can successfullyoperate on any manifold object. • Some algorithms (e.g. marching-cubes) guarantee manifold output. • Some models have cracks, T-junctions, and nonmanifold points or edges.

  19. Treatment of Mesh Topology • A topology-preservingsimplification algorithm: • Preservesmanifold connectivity at every step. • Fidelity tends to be relatively good. • Can’t be simplified drastically. • Requires a mesh with manifold topology. • A topology tolerantsimplification algorithm: • Ignores regions in the mesh with nonmanifold local topology, • Leaves those regions unsimplified.

  20. Treatment of Mesh Topology • A topology-modifyingalgorithm: • Don’t necessarily preservemanifold topology. • May close up holes in the model and aggregate separateobjects into assemblies • Permittingdrastic simplification beyond the scope of topology-preserving schemes. • Often provides poor visual fidelity. • Good at real-time visualizationof complex scenes.

  21. Simplification Mechanism • Four basic polygon removal mechanisms: • Sampling, • Adaptive subdivision, • Decimation, and • Vertex merging.

  22. Sampling • Sample the initial model’s geometry: • With points on the model’s surface or • With voxels superimposed on the model in a 3D grid. • More elaborate and difficult to codeapproaches. • Trouble achieving highfidelity. • Work best on smooth organic forms with no sharpcorners.

  23. Adaptive Subdivision • Finds a simple base mesh that can be recursively subdivided to closely approximate the initial model. • Requires creating a base model that captures the original model’s important features, which can be tricky. • Preserve the surface topology, which may limit their capacity for drastic simplification.

  24. Decimation • Iteratively remove vertices or faces from the mesh, re-triangulating the resulting hole after each step. • Relatively simple to code and can be very fast. • Use strictly local changes that tend to preserve the genus. • This restricts drastic simplification.

  25. Vertex Merge • Collapses two or more vertices of a triangulated model into a single vertex, • Which in turn can be merged with other vertices.

  26. Vertex Merge • A simple and easy-to-code mechanism. • Range fromsimple, fast, and crude to complex, slow, and accurate.

  27. Static, Dynamic, and View-Dependent Simplification • Traditional static approach: • Polygonal simplification creates several discrete versions of each object in a preprocess, each at a different LOD. • Decoupling simplification and rendering makes this the simplest model to code. • Each LOD can be converted during preprocessing to triangle strips and compiled as a separate display list.

  28. Static, Dynamic, and View-Dependent Simplification • Dynamic approach: • Creates a data structure, which encodes a continuous spectrum of detail. • Desired LOD can be extracted from this structure at run-time. • Advantage: uses no more polygons than necessary.

  29. Static, Dynamic, and View-Dependent Simplification • View-dependent simplification: • Extends dynamic simplification by using view-dependent criteria • Selects the most appropriate LOD for the current view.

  30. Brief Description of Some Simplification Algorithms • Triangle Mesh Decimation • Vertex Clustering • Multiresolution Analysis of Arbitrary Meshes • Voxel-Based Object Simplification • Simplification Envelopes • Appearance-Preserving Simplification • Quadric-Error Metrics • Image-Driven Simplification • Progressive Meshes • Real-Time Optimally Adapting Meshes (ROAM)

  31. Triangle Mesh Decimation • By Schroeder, Zarge, and Lorenson • Simplify general polygonal models. • Term decimation for iterative removal of vertices. • Designed to operate on the output of the marching cubes algorithm. • Coplanar regions divided into many more polygons than necessary.

  32. Triangle Mesh Decimation • Multiple passes over all the vertices: • If the vertex can be removed without violating the local topology, and • If resulting surface would lie within a user-specified distance of the unsimplified geometry, • Deletes vertex and all its associated triangles. • Hole in the mesh is re-triangulated.

  33. Triangle Mesh Decimation • Vertices of simplified model are a subset of the original model’s vertices. • Convenient for reusing normals and texture coordinates at the vertices. • Limit the fidelity of the simplifications. • Quite fast and topology tolerant. • Available as part of the Visualization Tool Kit at http://www.kitware.com/vtk.html

  34. Vertex Clustering • ByRossignac and Borrel • Topology insensitive, neitherrequiring nor preserving valid topology.

  35. Vertex Clustering • Assigns an importance to each vertex. • More Important: • Vertices attached to large faces and vertices of high curvature • Less Important: • Vertices attached to small faces and vertices of low curvature.

  36. Vertex Clustering • Overlays a 3D grid on the model • Collapses all vertices within each cell of the grid to the single most important vertex in cell.

  37. Vertex Clustering • Grid’s resolution determines quality of simplification. • During the clustering process, • Triangles whose corners are collapsed together become degenerate and disappear.

  38. Vertex Clustering • A unique feature in rendering merged corners. • Renders using the graphics hardware line and point primitives. • a triangle with two corners collapsed is a line • a triangle with three corners collapsed is a point

  39. Vertex Clustering • A different clustering approach called floating-cell clustering by Low and Tan. • Ranks vertices by importance. • A cell of user-specified size is centered on the most important vertex. • Collapses all vertices falling within the cell to the representative vertex. • The mostimportant remaining vertexbecomes the center of thenext cell, • And the process repeats.

  40. Vertex Clustering • Extremely fast. • Run in O(n) time for n vertices. • Since algorithm: • Don’t preserve topology, and • Don’t guarantee the amount of error introduced by the simplified surface, Often less pleasing visually than those of slower algorithms.

  41. Multiresolution Analysis of Arbitrary Meshes (MRA) • Adaptive subdivision algorithm by Eck et al. • Uses a compact wavelet representation to guide a recursive subdivision process. • Fast enough to do at runtime • Guarantee that the simplified surface lies within a userspecified distance of the original model. Wavelet series is a squre-integrable function.

  42. Multiresolution Analysis of Arbitrary Meshes (MRA) • Provides a method for finding a simple base mesh • That exhibits subdivision connectivity, • So that recursive subdivision will recover the original mesh.

  43. Multiresolution Analysis of Arbitrary Meshes (MRA) • Base mesh by growing Voronoi-like regions across the original surface’s triangles. • When these regions can’t grow anymore, • Voronoi sites form a Delaunay-like triangulation, and • The triangulation forms the base mesh.

  44. Multiresolution Analysis of Arbitrary Meshes (MRA) • Manifold topology is required in the input model. • Strict topology-preserving approach. • Original object’s shape and genus limit the potential for drastic simplification. • Fidelity is quite high for smooth, organic forms. • Has difficulty capturing sharp features.

  45. Voxel-based Object Simplification • By He et al. • Simplify topology in a gradual and controlled manner using a signal processing approach. • Sample a volumetric representation of the model • By Superimposing a 3D grid of voxels over the polygonal geometry.

  46. Voxel-based Object Simplification • Aassigns each voxel a value of 1 or 0, • According to whether the sample point of that voxel lies inside or outside the object. • Resamples the volume with a lower resolution • To elliminate small, high-frequency features. • Applies marching cubes. • Uses topology-preserving algorithm as a postprocess to eliminate redundant geometry.

  47. Voxel-based Object Simplification • High-frequency details such as sharp edges and corners are lost. • Greatly restricts its usefulness on mechanical CAD models. • Isn’t topology tolerant, • Since deciding whether sample points lie inside or outside the object requires closed-mesh objects.

  48. Simplification Envelopes • By Cohen et al. • Guarantee fidelity bounds • While enforcing global and local topology. • Two offset surfaces, no more than some distance ε from the original surface. outher ε original -ε inner

  49. Simplification Envelopes • Outher envelope • Displaces each vertex of the original mesh along its normal by ε, • Inner envelope: • Displaces each vertex by −ε. • Aren’t allowed to self-intersect. • If so, algorithm decreases ε in the local neighborhood.

  50. Simplification Envelopes • Envelopes can guide the simplification process. • Keeping simplified surface within envelopes • Iteratively remove triangles or vertices, and • Retriangulate the resulting holes.

More Related