Hongzhi Wu 1,2 , Li-Yi Wei 1 , Xi Wang 1 , and Baining Guo 1 Microsoft Research Asia 1 Fudan University 2 Silhouette Texture
Jan 12, 2016
Hongzhi Wu1,2, Li-Yi Wei1, Xi Wang1, and Baining Guo1
Microsoft Research Asia1 Fudan University2
Silhouette Texture
Problem
Silhouettes are important
Visual cues for human perception system
Render detailed silhouettes is expensive
low-polygon count objects causing jagged silhouettes
Grand Theft Auto World of Warcraft
Our Solution
Render high quality silhouette with low polygon count
In the spirit of Silhouette Clipping [Sanders et al 00]
Load balance for pixel for vertex stages
GPU today was optimized for ~ 10 pixels per vertex
(not true for dense meshes)
Outer hull + Normal map
Original Mesh (308 fps)
Our method (725 fps)
Previous Work
Silhouette Clipping [Sanders et al 00]
Exterior silhouettes only
Explicit storage of all original edges
Not GPU friendly
VDM/GDM [Wang et al 03,04] and Relief Mapping [Policarpo et al 05]
Mainly for interior texture details
Difficulty in handling silhouettes
Interactive Horizon Mapping [Sloan et al 00, Heidrich et al 00]
Similar data structure, but for self-shadowing
Overview
Outer hull
Normal Map
Silhouette Texture
Final Result
Original Mesh
Simplify
Preprocess Render+
Incorrect Interior Silhouettes (Naïve Visibility Function)
A
Original Mesh
Hull
p1
q1
p2
q2 correctincorrect
Correct Interior Silhouettes (Modified Visibility Function)
A
Original Mesh
Hull
p1
q1q2
p2 q3correct
incorrect
Sampling Visibility Function
Store sampled spoke length into an 1D array
limitations8
124 3
6
5
7
1 2 3 4 5 6 7 8
Performance
0
500
1, 000
1, 500
2, 000
2, 500
0 100, 000 200, 000 300, 000 400, 000 500, 000 600, 000
# pi xel s drawn
FPS
Our method Ori gi nal Mesh
0
200
400
600
800
1, 000
1, 200
1, 400
0 200, 000 400, 000 600, 000 800, 000 1, 000, 000
# pi xel s drawn
FPS
Our method Ori gi nal Mesh
Bunny
Lucy
Automatic geometry LOD control
Interpolation Quality
Entire mesh
Silhouette texture
(green grid)
Rendering Result
Smooth interpolation out of coarse silhouette texture grid
Future Work
Dynamic objects
Start with articulated figures
MIPMAP issue
Automatic geometry LOD control via texture hardware
MIPMAP, anisotropy, etc