Levels of detail
1 / 40

Levels of Detail - PowerPoint PPT Presentation

  • Uploaded on

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. 13M Triangles. 1M Triangles. 8M Elevation Points. Problem. Q: Why else might we want to reduce the working set size?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Levels of Detail' - matteo

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Levels of detail

Levels of Detail

COMP 770



  • Models can be very detailed

  • Look great when close up

  • Last week we explored one way of attacking this problem

13M Triangles

1M Triangles

8M Elevation Points


Q: Why else might we want to reduce the working set size?

  • 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

372M Triangles

100M Triangles

270M Elevation Points

82M Triangles

Levels of detail1
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

Lod hierarchy
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

Polygonal simplification
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

Vertex clustering
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

Vertex clustering1
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

Vertex clustering2
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

Vertex removal
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

Edge collapse
Edge Collapse

  • Introduced by [Hoppe93]

  • Variation: Half-Edge Collapse

edge collapse




vertex split


  • Collapsing an edge can flip a face

edge collapse




vertex split

Virtual edge collapse
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(n2) virtual edges

Edge collapse1
Edge Collapse

  • Allows geomorphs

  • Fine-grained: 2 triangles removed for manifold case

  • Topology preserving

  • Half-edge collapse preserves vertex set

Low pass filtering
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

Morphological operators
Morphological Operators

  • [Nooruddin99]

  • Convert polygon mesh to volumetric representation

  • Apply dilation operator followed by erosion operator

  • Reconstruct with marching cubes

  • Apply polygonal simplifcation

Topological simplification using alpha hulls
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

Topological simplification using alpha hulls1
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

Discrete lod
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]

Continuous lod
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: M0→M1 →… → Mn

Continuous lod1
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

View dependent lod
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:

View dependent lod1
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

View dependent lod2
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

View dependent lod3
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

Levels of detail

  • [Yoon et al. 2004]

  • Addresses problems of vertex hierarchy

  • Same framework used for LOD collision detection

Levels of detail

  • Video:

    • http://gamma.cs.unc.edu/QVDR

  • Collision:

    • http://gamma.cs.unc.edu/MRC

Simplification error
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

Hausdorff distance
Hausdorff Distance



  • A measure of surface deviation

  • h(A,B)=maxaminb(|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

Vertex plane distance
Vertex Plane Distance

  • [Ranford 96]

  • One metric is the max distance between the vertex and the planes of the supported triangles





Quadric error metric
Quadric Error Metric

  • [Garland & Heckbert 97]

  • Use sum of squared distance rather than max distanceE=(p•v)2= (vTp) (pTv)=vT[(p pT)]v = vT[Qp]v = vTQv

  • Additional plane can be incorporated by a 4x4 matrix addition

  • Cost to compute the error given a quadric and vertex is constant


  • 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


  • [Hoppe98] introduces the idea of wedges

  • Wedges separate discrete attributes at a vertex

  • A wedge disappears when all its triangles collapse


  • 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

Normal cones
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


Levels of detail

  • [Erikson99]

  • Uses a threshold distance τ

  • Vertex pairs within distance τ are candidates

  • τ grows over simplification process

  • Allows topological simplification at all scales

Image driven simplification
Image Driven Simplification

  • Render the object from a sampling of view-points

  • Measure error as RMS of pixels

  • Only redraw relevant triangles

  • Benefits?

  • Drawbacks?

Simplification envelopes
Simplification Envelopes

  • Compute interior and exterior offset surfaces at distance ε

  • Remove vertices and retriangulate if new surface does not intersect envelopes

  • Limitations?

Other forms of lod
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


  • LOD Book: Luebke et al.

    • www.lodbook.com

  • Surveys:

    • http://www.cs.cmu.edu/afs/cs/user/garland/www/multires/survey.html

    • http://www.cs.umd.edu/class/spring2005/cmsc828v/papers/surveyMINGLE.pdf

    • http://citeseer.ist.psu.edu/247479.html

    • http://www.cs.virginia.edu/~luebke/publications/pdf/cg+a.2001.pdf