levels of detail
Skip this Video
Download Presentation
Levels of Detail

Loading in 2 Seconds...

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


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