Displaced Subdivision Surfaces

Displaced Subdivision Surfaces
Aaron Lee
Henry Moreton
Hugues Hoppe
Princeton
University
Nvidia
Microsoft
Research
1
Triangle Meshes




Interactive animation
Adaptive rendering
Compact storage
Transmission
Dataset provided by Cyberware
2
Scalable Algorithms
Multiresolution now well established
mesh simplification
subdivision surfaces
3
Subdivision Surfaces
Smooth (C1) with arbitrary topology

No stitching of patches
Easy Implementation

Simple subdivision rules
Level-of-detail rendering

Uniform or adaptive subdivision
4
Displacement Mapping
Scalar/Vector displacement


Cook 84
RenderMan
Mesh approximation

Krishnamurthy-Levoy 96, …
Hardware implementation

Gumhold-Hüttner 99, …
5
Our Approach
DSS = Smooth Domain  Scalar Disp Field
Control mesh
Domain Surface
Displaced
Subdivision
surface
6
Representation Overview
Control mesh
Piecewise-regular mesh of
scalar displacement sampling pattern
7
Advantages of DSS
Intrinsic parameterization




Governed by a subdivision surface
No storage necessary
Significant computation efficiency
Capture detail as scalar displacement
Unified representation

Same sampling pattern and subdivision rules
for geometry and scalar displacement field
8
Analytic Properties


C1 continuous everywhere except at
extraordinary vertices
Surface normals are easy to evaluate
 
S  P  Dnˆ

 Pu  Du nˆ  Dnˆu

 Pv  Dv nˆ  Dnˆv

Su

S v
  
n  Pu  Pv
  
ns  Su  Sv
9
Evaluation of derivatives
1
1
1
6
1
2
1
1
1
x/12
0
-1
P
u
0
0
-2
0
-1
-2
0
0
1
Puu
1
-1
x/6
x/1
0
-2
-2
-1
1
0
0
Pvv
1
x/6
Pv
1
1
2
0
Pu
v
1
1
x/1
-1
1
-2
1
-1
1
x/2
Puv
10
Conversion Algorithm
Control mesh creation
Control mesh optimization
Scalar displacement computation
Attribute resampling
11
Control Mesh Creation
Mesh
Simplification
Normal Cone
Constraint
Original Mesh
Initial Control Mesh
[Garland 97] Surface simplification using quadric error metrics
12
Normal Cone Constraint
allowable normals
on Gauss sphere
13
Tracking Correspondences
Control Mesh Creation

mesh simplification
11776 faces
120 faces
[Lee 98] Multiresolution Adaptive Parameterization of Surfaces
14
Control Mesh Creation
Mesh
Simplification
Normal Cone
Constraint
Original Mesh
Initial Control Mesh
15
Control Mesh Optimization
Global
Optimization
Initial Control Mesh
Optimized Control Mesh
[Hoppe 94] Piecewise smooth surface reconstruction
16
Scalar Displacement Computation
Scalar
Displacement Field
Smooth Domain Surface
Displaced Subdivision Surface
[Gottschalk, Lin and Manocha 96] OBB-tree
17
Attribute Resampling
Original mesh
DSS With Scalar
Displacement Field
DSS with
Resampled Texture
18
Applications





Editing
Animation
Bump mapping
Adaptive tessellation
Compression
19
Editing
20
Animation
Polyhedral Domain Surface
(e.g. Gumhold-Hüttner 99)
Smooth Domain Surface
(DSS)
21
Bump Mapping
Explicit geometry
Bump
map
134,656 faces
8,416 faces
526 faces
[Blinn 78] Simulation of wrinkled surfaces
22
Adaptive Tessellation
Threshold
#Triangles
L2 error
4.0
6,376
0.13 %
1.3
22,190
0.05 %
23
VIDEO
24
Compression
Scalar
Displacement
field
M0
Delta
encoding
with
Linear
Prediction
M1
Quantizer
Entropy
Coder
Quantizer
Entropy
Coder
Bit
Allocation
Mk
Quantizer
Entropy
Coder
25
Compression (Venus)
Original
Simplified
DSS
Compression
Ratio
Mesh Info
#V=50002
#F=100000
#V=10002
#F=20000
#V=376 #F=748
(sub 4 times)
23 bits L2
Kbytes
0.0014%
346
0.027%
75
0.028%
17
108
12 bits L2
Kbytes
0.014%
140
0.03%
33
0.03%
16
115
8 bits L2
Kbytes
0.21%
69
0.21%
18
0.15%
4
410
[Venus Raw Data] 1,800,032 bytes
IBM VRML Compressed Binary Format (Draft 4 Implementation)
26
Conclusion
DSS Representation:



Unified representation
Simple subdivision rules
Analytic surface properties
Applications





Editing
Animation
Bump mapping
Adaptive tessellation
Compression
27
Q&A
28
Timings and Results
Dataset
Input size # Base Simplification Optimization Scalar field
creation
#triangles domain
(mins)
(mins)
(mins)
triangles
Armadillo
210,944
1306
61
25
2.5
Venus
100,000
748
28
11
2
Bunny
69,451
526
19
12
1.3
Dinosaur
342,138
1564
115
43
4.6
29
DSS Vs Normal Meshes
+ Single level displacement map


Hardware implementation
Easy conversion to bump map
+ Displacements strictly scalar

No extraordinary vector displacements
– Less compression

Multilevel displacement map
30