Presentation is loading. Please wait.

Presentation is loading. Please wait.

Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem.

Similar presentations


Presentation on theme: "Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem."— Presentation transcript:

1 Levels of Detail COMP 770 3/25/09

2 Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem 13M Triangles 8M Elevation Points1M Triangles

3 Problem Even after visibility culling we can have too many visible triangles Won’t this problem go away with faster GPUs? –The real world has virtually infinite complexity –Our ability to model and capture this complexity outpaces rendering performance 270M Elevation Points 82M Triangles 100M Triangles 372M Triangles Q: Why else might we want to reduce the working set size?

4 Levels of Detail Basic Idea: Render using fewer triangles when model is farther from viewer Methods: –Multi-resolution modeling Remeshing Parametric Surfaces Subdivision Surfaces –Polygonal Simplification –Image Impostors

5 LOD Hierarchy [Clark76] First LOD paper –Replace each object in the scene graph with a hierarchy of objects at differing resolutions –Select LOD based on size of screen-space projection Integrates VFC with LOD search Supports out-of-core rendering Most LOD systems today are based on this basic concept

6 Polygonal Simplification Method for reducing the polygon count of mesh Local Operators: –Vertex Clustering –Vertex Removal –Edge Collapse –Triangle Collapse Global Operators: –Low-Pass Filtering –Morphological Operators –Alpha-Hull

7 Vertex Clustering [Rossignac & Borrel 93] Weight vertices by: –Inverse of max angle between edges (why?) –Size of largest adjacent face (why?) Impose a grid on the model Compute weighted average vertex in each cell Triangles become: –Triangles –Lines –Points Keep the unique primitives

8 Vertex Clustering How do we create a set of LODs? What are the limitations on this method? Main Benefits: –Hard to target a polygon count –Poor error control –Not invariant to rotation or translation –Mixed primitive types –Simple –Robust

9 Vertex Clustering [Low & Tan 97] Improve on R&B in a several ways including: –Floating-cell clustering –Improved angle weight [draw it] –Rendering using thick lines

10 Vertex Removal [Schroeder et al. 92] Designed for Marching Cubes Output Remove a triangle and re-triangulate hole Ignores non-manifold vertices Properties: –Preserves topology –Uses original vertices –Linear

11 Edge Collapse Introduced by [Hoppe93] Variation: Half-Edge Collapse a b c edge collapse vertex split

12 Foldovers Collapsing an edge can flip a face a b c edge collapse vertex split

13 Virtual Edge Collapse Extension of edge collapse to two vertices not connected by an edge Allows topological simplification Also known as vertex-pair collapse Usually limited to small distance to avoid O(n 2 ) virtual edges

14 Edge Collapse Allows geomorphs Fine-grained: 2 triangles removed for manifold case Topology preserving Half-edge collapse preserves vertex set

15 Low-Pass Filtering [He et al. 96] Convert polygon mesh to volumetric representation Apply low-pass filter to volumetric data Reconstruct the mesh using marching cubes

16 Morphological Operators [Nooruddin99] Convert polygon mesh to volumetric representation Apply dilation operator followed by erosion operator Reconstruct with marching cubes Apply polygonal simplifcation

17 Topological Simplification Using Alpha-Hulls [El-Sana and Varshney 98] Definition: –Set of points P –Spherical ball b with radius alpha –If b is placed such that it does not intersect P it is empty –The alpha-hull is the complement of empty balls

18 Topological Simplification Using Alpha-Hulls Intuitively, we roll a ball around the points to define the new surface If the ball does not fit into a concavity it is filled If the ball does not fit in to a hole it is closed If the ball does not fit between two objects it is closed What if alpha=0? What if alpha=infinity? Show paper images

19 Discrete LOD Use local or global operators to compute a set of LOD meshes At runtime select an LOD mesh and render it Possible Criteria: –Distance to user –Fraction visible –Eccentricity –Visual Importance Extension: HLODS [Erikson01]

20 Continuous LOD Progressive Meshes [Hoppe96] Iteratively decimate a mesh using edge collapse operator Store the inverse vertex split for each collapse The most simplified mesh (base mesh) and vsplit records form the progressive mesh: M 0 →M 1 →… → M n

21 Continuous LOD Rather than a few discrete LODs we have a full range Vertex split does not require much storage Can geomorph between LODs Show video

22 View-Dependent LOD So far we have: –Discrete LOD: fixed models at various fidelities –Continuous LOD: a progression of meshes from coarse to fine Consider a case like this:

23 View-Dependent LOD Create an LOD representation at runtime according to view-parameters What view-dependent criteria can we use? More detail close to the viewer Preserve the silhouette of the object Preserve specular highlights Aggressively simplify the backfaces

24 View-Dependent LOD Organize the simplification operations as a hierarchy Compute a front in the hierarchy Use temporal coherence [Luebke&Erikson97] use octree clustering [Hoppe96] uses edge collapse Show video

25 View-Dependent LOD View-Dependent LOD has fidelity advantages but not generally used. Why? –Expensive to traverse hierarchy front –Dynamically generated geometry difficult to render optimally

26 CHPM [Yoon et al. 2004] Addresses problems of vertex hierarchy Same framework used for LOD collision detection

27 CHPM Video: –http://gamma.cs.unc.edu/QVDR http://gamma.cs.unc.edu/QVDR Collision: –http://gamma.cs.unc.edu/MRC http://gamma.cs.unc.edu/MRC

28 Simplification Error Why measure error? –Better quality LOD –Know the quality of the LOD Usually, we want to measure appearance Generally, we use a geometric measure as a proxy Error measures are used in three ways: –To pick which operation to perform –To determine resulting surface from an operation (e.g. position of replacement vertex) –To pick an LOD at runtime Two common LOD selection criteria: –Target framerate –Target quality

29 Hausdorff Distance A measure of surface deviation h(A,B)=max a min b (|a-b|) H(A,B)=max(h(a,b),h(b,a)) h is sometimes called the one- sided Hausdorff distance Provides a bound on the maximum possible error Project to screen space to get deviation in pixels A B

30 Vertex Plane Distance [Ranford 96] One metric is the max distance between the vertex and the planes of the supported triangles E=max p (pv) a b v

31 Quadric Error Metric [Garland & Heckbert 97] Use sum of squared distance rather than max distance E=  (pv) 2 =  (v T p) (p T v)=v T [  (p p T )]v = v T [  Q p ]v = v T Qv Additional plane can be incorporated by a 4x4 matrix addition Cost to compute the error given a quadric and vertex is constant

32 Attributes Vertices have more than just position: –Colors –Normals –Texture Coords –And now varying input to programs Vertices may lie at a discontinuity –Different Textures –Different Material Properties –Different Shaders

33 Attributes [Hoppe98] introduces the idea of wedges Wedges separate discrete attributes at a vertex A wedge disappears when all its triangles collapse

34 Attributes Earlier algorithms ignored attributes or simply propagated their values Can simply use the same metric as for position: –Normals in Euclidean space –Colors in RGB space Better: –Normals in spherical domain –Colors in a perceptually linear color space Generally total error is a weighted sum of position and attribute errors

35 Normal cones [Luebke & Erikson 97] Used in view-dependent LOD to determine likelihood that a vertex represents the silhouette or be at a specular highlight cluster

36 GAPS [Erikson99] Uses a threshold distance τ Vertex pairs within distance τ are candidates τ grows over simplification process Allows topological simplification at all scales

37 Image Driven Simplification Render the object from a sampling of view-points Measure error as RMS of pixels Only redraw relevant triangles Benefits?Drawbacks?

38 Simplification Envelopes Compute interior and exterior offset surfaces at distance ε Remove vertices and retriangulate if new surface does not intersect envelopes Limitations?

39 Other Forms of LOD Image impostors –Warping (e.g. [Rafferty98]) –Texture Depth Meshes (e.g. [Aliaga99]) Shader LOD –Number of shaders –Number of textures Simulation LOD –Time steps –Simulation resolution –Number of particles Lighting –Number and type of lights used

40 Resources LOD Book: Luebke et al. –www.lodbook.com www.lodbook.com Surveys: –http://www.cs.cmu.edu/afs/cs/user/garland/www/multir es/survey.html http://www.cs.cmu.edu/afs/cs/user/garland/www/multir es/survey.htmlhttp://www.cs.cmu.edu/afs/cs/user/garland/www/multir es/survey.html –http://www.cs.umd.edu/class/spring2005/cmsc828v/p apers/surveyMINGLE.pdf http://www.cs.umd.edu/class/spring2005/cmsc828v/p apers/surveyMINGLE.pdfhttp://www.cs.umd.edu/class/spring2005/cmsc828v/p apers/surveyMINGLE.pdf –http://citeseer.ist.psu.edu/247479.html http://citeseer.ist.psu.edu/247479.html –http://www.cs.virginia.edu/~luebke/publications/pdf/cg +a.2001.pdf http://www.cs.virginia.edu/~luebke/publications/pdf/cg +a.2001.pdfhttp://www.cs.virginia.edu/~luebke/publications/pdf/cg +a.2001.pdf


Download ppt "Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem."

Similar presentations


Ads by Google