Levels of Detail

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

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?

• 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 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
• [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
• 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
• [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 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 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
• [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
• Introduced by [Hoppe93]
• Variation: Half-Edge Collapse

edge collapse

b

c

a

vertex split

Foldovers
• Collapsing an edge can flip a face

edge collapse

b

a

c

vertex split

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 Collapse
• Allows geomorphs
• Fine-grained: 2 triangles removed for manifold case
• Topology preserving
• Half-edge collapse preserves vertex set
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
• [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
• [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-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
• 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
• 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 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
• 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 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 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 LOD
• View-Dependent LOD has fidelity advantages but not generally used.
• Why?
• Expensive to traverse hierarchy front
• Dynamically generated geometry difficult to render optimally
CHPM
• [Yoon et al. 2004]
• Addresses problems of vertex hierarchy
• Same framework used for LOD collision detection
CHPM
• Video:
• http://gamma.cs.unc.edu/QVDR
• Collision:
• http://gamma.cs.unc.edu/MRC
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

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
Vertex Plane Distance
• [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
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
Attributes
• [Hoppe98] introduces the idea of wedges
• Wedges separate discrete attributes at a vertex
• A wedge disappears when all its triangles collapse
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
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

GAPS
• [Erikson99]
• Uses a threshold distance τ
• Vertex pairs within distance τ are candidates
• τ grows over simplification process
• Allows topological simplification at all scales
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
• Compute interior and exterior offset surfaces at distance ε
• Remove vertices and retriangulate if new surface does not intersect envelopes
• Limitations?
Other Forms of LOD
• 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
Resources
• 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