- 62 Views
- Uploaded on

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

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

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

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

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

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])
- Shader LOD
- Number of shaders
- 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

Download Presentation

Connecting to Server..