lecture13.ppt
Download
Report
Transcript lecture13.ppt
CS 551/651:
Advanced Computer Graphics
LOD:
A Sampling of Influential Algorithms
David Luebke
1
7/27/2016
Recap: Quadric Error Metrics
What is a quadric in this algorithm?
How is it calculated?
How is it used?
David Luebke
2
7/27/2016
Recap: Quadric Error Metric
Minimize distance to all planes at a vertex
Plane equation for each face:
v
p:
Ax + By + Cz + D = 0
Distance to vertex v :
p v = [A
T
David Luebke
B C
3
x
y
D ]
1z
7/27/2016
Recap: Quadric Derivation
D( v ) =
( p
T
v) 2
(v
T
p )( pT v )
p planes ( v )
=
p planes ( v )
v
=
T
( ppT )v
p planes ( v )
= v ppT
pplanes ( v )
T
David Luebke
4
v
7/27/2016
Recap: Quadric Derivation
(cont’d)
ppT is simply the plane equation squared:
A2
AB
T
pp =
AC
AD
AD
BD
BC C2 CD
2
BD CD D
AB
B2
AC
BC
The ppT sum at a vertex v is a matrix, Q:
D( v ) = vT (Q )v
David Luebke
5
7/27/2016
Recap: Using Quadrics
Construct a quadric Q for every vertex
v2
v1
The edge quadric:
Q1
Q
Q2
Q = Q1 + Q2
Sort edges based on edge cost
David Luebke
Suppose we contract to v1:
v1’s new quadric is simply:
6
T
=
edge cost v1 Qv1
Q
7/27/2016
Recap:
Minimize Q to calculate optimal coordinates
for placing new vertex
Details in paper; involves inverting Q
Authors claim 40-50% less error
Boundary preservation: add planes
perpendicular to boundary edges
Prevent foldovers: check for normal flipping
Create virtual edges between vertices closer
than some threshold t
David Luebke
7
7/27/2016
Boundary Preservation
To preserve important boundaries, label
edges as normal or discontinuity
For each face with a discontinuity, a plane
perpendicular intersecting the
discontinuous edge is formed.
These planes are then converted into
quadrics, and can be weighted more
heavily with respect to error value.
David Luebke
8
7/27/2016
Recap:
Simplification Envelopes
What is the basic approach of SE?
What is the underlying mechanism?
What do they guarantee?
David Luebke
9
7/27/2016
Simplification Envelopes
Idea: keep simplification between inner and
outer offset surfaces (draw it)
Algorithm:
Set maximum offset
Generate offset surfaces (avoid self-intersections!)
Do all simplification operations that don’t cause
intersection (using decimation, edge collapse, etc)
Guarantee: silhouette will not deviate by more
than /z pixels
David Luebke
10
7/27/2016
Simplification Envelopes
Pros:
Guaranteed silhouette fidelity bounds
Guaranteed to preserve global topology:
Same
genus
No self-intersections
Why might these be important?
Very high fidelity in practice
David Luebke
11
7/27/2016
Simplification Envelopes
Cons
Slow, very slow
Complex and finicky to code
Requires valid manifold topology to begin with
Even if silhouette distortion is < 1 pixel, can still
introduce visible artifacts
Can you think of a surface that could be simplified
to within a very small distance and look completely
different?
David Luebke
12
7/27/2016
Appearance-Preserving
Simplification
Cohen, Olano, and Manocha, SIGGRAPH 98
Track texture distortion as underlying mesh is
simplified, as well as geometric distortion
Bound this distortion with world-space , can
translate to screen-space pixel bound
Problem: color comes from lighting calculations as
well as intrinsic color captured in texture map
Solution: store lighting parameters in normal map
If < 1 pixel, can truly guarantee visual fidelity
David Luebke
13
7/27/2016
Appearance-Preserving
Simplification
A bumpy object and its normal map:
David Luebke
14
7/27/2016
Appearance-Preserving
Simplification
LODs with and without normal mapping:
David Luebke
15
7/27/2016
Image-Driven Simplification
Lindstrom & Turk,
ACM TOG 2000
Compare simplifications
to original via images
Do edge collapse, render
from 12-20 views
Evaluate difference
(how?)
“Unrender” (how?) and
try again
Pick cheapest and apply
David Luebke
16
7/27/2016
Image-Driven Simplification
Pros:
Does a great job preserving appearance
Solves the question of how to trade off geometric
distance versus color/normal/texture attributes
Pays attention to shading artifacts
Sensitive to texture content
Drastically simplifies invisible regions!
David Luebke
17
7/27/2016
Image-Driven Simplification
Cons:
Slow, very slow
Can always contrive an example that breaks it:
Hard
to know how many images is enough
Hard to know how to evaluate images (RMS vs
Bolin-Meyer)
David Luebke
18
7/27/2016
Progressive Meshes
Hoppe, SIGGRAPH 96
Idea: apply a stream of edge collapse (ecol)
operations ordered by the error they introduce
Measuring error: energy-minimization problem
Reorder local neighborhood edges after collapse
Extension: organize ecol operations in
hierarchy instead for view-dependent simp
David Luebke
19
7/27/2016
Progressive Meshes
Pros:
Elaborate energy-minimization metric leads to
very high-quality simplifications
Fine-grained control over degree of simplification
Ecol operation reversible (vsplit) and fast enough
to support dynamic/view dependent simplification
Supports some neat features:
Can
geomorph between LODs
Stream vsplits over network for progressive refinement
Can dynamically generate triangle strips to render faster
David Luebke
20
7/27/2016
Progressive Meshes
Cons
Slow preprocess
Result
of elaborate energy metric, not inherent to PM
Not clear that dynamic/view-dependent LOD wins
Extremely fine-grained simplification might be
less optimal than coarser clustering at times
David Luebke
21
7/27/2016
The End
David Luebke
22
7/27/2016