Levels of Detail - PowerPoint PPT Presentation

About This Presentation
Title:

Levels of Detail

Description:

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 ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 41
Provided by: BrianS116
Learn more at: http://www.cs.unc.edu
Category:
Tags: closeup | detail | levels

less

Transcript and Presenter's Notes

Title: Levels of Detail


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 Points
1M Triangles
3
Problem
Q Why else might we want to reduce the working
set size?
  • Even after visibility culling we can have too
    many visible triangles
  • Wont 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
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 RB 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

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

edge collapse
b
a
c
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(n2)
    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 alpha0?
  • What if alphainfinity?
  • 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 M0?M1 ? ? Mn

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
  • LuebkeErikson97 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
  • Collision
  • 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
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

30
Vertex Plane Distance
  • Ranford 96
  • One metric is the max distance between the vertex
    and the planes of the supported triangles
  • Emaxp(pv)

v
a
b
31
Quadric Error Metric
  • Garland Heckbert 97
  • Use sum of squared distance rather than max
    distanceE?(pv)2 ?(vTp) (pTv)vT?(p pT)v
    vT?Qpv vTQv
  • 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 t
  • Vertex pairs within distance t are candidates
  • t 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 e
  • 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
  • Surveys
  • http//www.cs.cmu.edu/afs/cs/user/garland/www/mult
    ires/survey.html
  • http//www.cs.umd.edu/class/spring2005/cmsc828v/pa
    pers/surveyMINGLE.pdf
  • http//citeseer.ist.psu.edu/247479.html
  • http//www.cs.virginia.edu/luebke/publications/pd
    f/cga.2001.pdf
Write a Comment
User Comments (0)
About PowerShow.com