Silhouette Texture

23
Hongzhi Wu 1,2 , Li-Yi Wei 1 , Xi Wang 1 , and Baining Guo 1 Microsoft Research Asia 1 Fudan University 2 Silhouette Texture

description

Silhouette Texture. Hongzhi Wu 1,2 , Li-Yi Wei 1 , Xi Wang 1 , and Baining Guo 1 Microsoft Research Asia 1 Fudan University 2. Problem. Silhouettes are important Visual cues for human perception system Render detailed silhouettes is expensive - PowerPoint PPT Presentation

Transcript of Silhouette Texture

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+

Correspondence: Outer hull and Original mesh

Original Mesh

Hull

p

Dp

q

Visibility Function

Our basic data structure for rendering silhouette

Original Mesh

p Dp

2D 3D

Algorithm Illustration

A Hull

A

B

Original Mesh

hit

miss

Quality Comparison

Normal map

Our approach

Difference

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

Silhouette Texture Encoding/Decoding

angle

heig

ht

width

Silhouette Texture

SVD CompressionUncompressed

25% Compression Rate

12.5% Compression Rate

6.3% Compression Rate

Results

Outer hull + Normal map

Original Mesh (411 fps)

Our method (638 fps)

Bunny

Results

Outer hull + Normal map

Original Mesh (1.5 fps) Our method (273 fps)

Lucy

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

Outer Hull Resolution

22 vertices

102 vertices

500 vertices

Outer hull + Norm

al map

Our metho

d

Silhouette Texture Resolution

Spatial

5122

1282

322

Angular 64 16 4

Silhouette Visualization

802 fps 753 fps 787 fps

Future Work

Dynamic objects

Start with articulated figures

MIPMAP issue

Automatic geometry LOD control via texture hardware

MIPMAP, anisotropy, etc

Thank you!