Presentation is loading. Please wait.

Presentation is loading. Please wait.

DPL3/10/2016 CS 551/651: Simplification Continued David Luebke

Similar presentations


Presentation on theme: "DPL3/10/2016 CS 551/651: Simplification Continued David Luebke"— Presentation transcript:

1 DPL3/10/2016 CS 551/651: Simplification Continued David Luebke cs551dl@cs.virginia.eduhttp://www.cs.virginia.edu/~cs551dl

2 DPL3/10/2016 Assignment 3 Issues Administrivia Administrivia –Interactive 3-D paper in copy cabinet –Viewer &.poly files on web page Triangulation algorithms Triangulation algorithms –Q: What is the difference between triangulating polygons and holes? –Q: What makes a “good” triangulation? –Don’t get too caught up in this

3 DPL3/10/2016 Assignment 3 Issues Most people’s first taste of computational geometry Most people’s first taste of computational geometry –Data structure & algorithm issues Ex: winged-edge mesh representation Ex: winged-edge mesh representation Ex: line segment intersection problem Ex: line segment intersection problem –Numerical issues Ex: co-linear points Ex: co-linear points Ex: calculating polygon normal & area Ex: calculating polygon normal & area Q: What approaches might we take? Q: What approaches might we take?

4 DPL3/10/2016 Assignment 3 Issues Take-home lesson: start soon Take-home lesson: start soon Questions? Questions?

5 DPL3/10/2016 Recap Polygonal simplification or level of detail methods simplify the polygonal geometry of small or distant objects: Polygonal simplification or level of detail methods simplify the polygonal geometry of small or distant objects: Run time Preprocess

6 DPL3/10/2016 Recap: Creating LODs Q: How might you create LODs of a polygonal object? Q: How might you create LODs of a polygonal object? –SubQ: How might we generate a version of the object with fewer polygons? –SubQ: What criteria might we try to preserve in the simplified object?

7 DPL3/10/2016 Recap: LOD Mechanism SubQ: How might we generate a version of the object with fewer polygons? SubQ: How might we generate a version of the object with fewer polygons? –A: Four basic mechanisms:  Sample-and-reconstruct  Decimation  Vertex-merging Adaptive subdivision Adaptive subdivision

8 DPL3/10/2016 Creating LODs: Mechanism Adaptive subdivision Adaptive subdivision –Create a very simple base model that represents the model –Selectively subdivide faces of base model until fidelity criterion met (draw) –Q: Why might this be hard? –Q: Why might this not simplify model? –Big potential application: multiresolution modeling

9 DPL3/10/2016 Creating LODs SubQ: What criteria might we try to preserve in the simplified object? SubQ: What criteria might we try to preserve in the simplified object? –A: Generally, its visual appearance –But this is hard to quantify Imperfectly understood visual system Imperfectly understood visual system Very computationally intensive Very computationally intensive –Often settle for geometric criteria like: Distance from old surface to new surface Distance from old surface to new surface Volume swept out by displaced surface Volume swept out by displaced surface

10 DPL3/10/2016 Algorithm 1: Vertex Clustering Rossignac and Borrel, 1992 Rossignac and Borrel, 1992 Apply a uniform 3D grid to the object Apply a uniform 3D grid to the object Collapse all vertices in each grid cell to single most important vertex, defined by: Collapse all vertices in each grid cell to single most important vertex, defined by: –Curvature (1 / maximum edge angle) –Size of polygons (edge length) Filter out degenerate polygons Filter out degenerate polygons

11 DPL3/10/2016 Vertex Clustering Resolution of grid determines degree of simplification Resolution of grid determines degree of simplification –Coarse grid  lots of simplification –Fine grid  little simplification Representing degenerate triangles Representing degenerate triangles –Edges  use OpenGL line primitive –Points  use OpenGL point primitive

12 DPL3/10/2016 Vertex Clustering Low and Tan, 1997 Low and Tan, 1997 –Refinement of Rossignac-Borrel Use cos(max edge angle/2) for curvature Use cos(max edge angle/2) for curvature Floating-cell clustering Floating-cell clustering Thick lines and dynamic shading Thick lines and dynamic shading

13 DPL3/10/2016 Vertex Clustering Pros Pros –Fast, very fast –Robust (topology-insensitive) Cons Cons –Difficult to specify simplification degree –Low fidelity (topology-insensitive) –Underlying grid creates sensitivity to model orientation in Rossignac-Borrel

14 DPL3/10/2016 Vertex Clustering Rossignac-Borrel examples: Rossignac-Borrel examples: 10,108 polys1,383 polys474 polys46 polys Courtesy IBM

15 DPL3/10/2016 Decimation The algorithm: multiple passes over al model vertices The algorithm: multiple passes over al model vertices –Consider each vertex for deletion Characterize local geometyr/topology Characterize local geometyr/topology Evaluate criteria & possibly delete vertex with surrounding triangles Evaluate criteria & possibly delete vertex with surrounding triangles If deleted, triangulate resulting hole If deleted, triangulate resulting hole

16 DPL3/10/2016 Decimation Issues Characterizing vertices Characterizing vertices Decimation criteria Decimation criteria –Simple vertices: distance to plane –Boundary & edge vertices: distance to edge Triangulating holes: loop splitting Triangulating holes: loop splitting

17 DPL3/10/2016 Outlook More algorithms More algorithms –Quadric error metrics –Simplification envelopes Next topic: hardware Next topic: hardware –Rendering pipeline –Graphics architectures


Download ppt "DPL3/10/2016 CS 551/651: Simplification Continued David Luebke"

Similar presentations


Ads by Google