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
pplanes ( 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