1 / 40

# Levels of Detail - PowerPoint PPT Presentation

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.

## PowerPoint Slideshow about ' Levels of Detail' - matteo

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

COMP 770

3/25/09

• 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

• 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

• [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

• 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

• [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

• 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

• [Low & Tan 97]

• Improve on R&B in a several ways including:

• Floating-cell clustering

• Improved angle weight [draw it]

• Rendering using thick lines

• [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

• Introduced by [Hoppe93]

• Variation: Half-Edge Collapse

edge collapse

b

c

a

vertex split

• Collapsing an edge can flip a face

edge collapse

b

a

c

vertex split

• 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

• Allows geomorphs

• Fine-grained: 2 triangles removed for manifold case

• Topology preserving

• Half-edge collapse preserves vertex set

• [He et al. 96]

• Convert polygon mesh to volumetric representation

• Apply low-pass filter to volumetric data

• Reconstruct the mesh using marching cubes

• [Nooruddin99]

• Convert polygon mesh to volumetric representation

• Apply dilation operator followed by erosion operator

• Reconstruct with marching cubes

• Apply polygonal simplifcation

• [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

• 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

• 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]

• 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

• Rather than a few discrete LODs we have a full range

• Vertex split does not require much storage

• Can geomorph between LODs

• Show video

• 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:

• 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

• 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 LOD has fidelity advantages but not generally used.

• Why?

• Expensive to traverse hierarchy front

• Dynamically generated geometry difficult to render optimally

• [Yoon et al. 2004]

• Addresses problems of vertex hierarchy

• Same framework used for LOD collision detection

• Video:

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

• Collision:

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

• 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

A

B

• 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

• [Ranford 96]

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

E=maxp(p•v)

v

a

b

• [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

• 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

• [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

• [Luebke & Erikson 97]

• Used in view-dependent LOD to determine likelihood that a vertex represents the silhouette or be at a specular highlight

cluster

• [Erikson99]

• Uses a threshold distance τ

• Vertex pairs within distance τ are candidates

• τ grows over simplification process

• Allows topological simplification at all scales

• Render the object from a sampling of view-points

• Measure error as RMS of pixels

• Only redraw relevant triangles

• Benefits?

• Drawbacks?

• Compute interior and exterior offset surfaces at distance ε

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

• Limitations?

• Image impostors

• Warping (e.g. [Rafferty98])

• Texture Depth Meshes (e.g. [Aliaga99])

• 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