Title: Surface Signals for Graphics
1Surface Signals for Graphics
John Snyder Researcher 3D Graphics
Group Microsoft Research
2Why Surface Signals?
- Many useful types of surface signals
- texture map Catmull74, BlinnNewell76 (color)
- bump map Max81 (normal)
- displacement map Cook 84 (geometric
offset) - geometry image (geometry)
- bidirectional texture function (precomputed
shading) - self-transfer texture (spherical harmonic
coefs) -
- Simplicity of regular 2D image
- Support on current graphics hardware (e.g. pixel
shaders) - Research questions
- How to generate and manipulate signals?
- What new graphics architectures?
3Surface Signal Research Projects
Creation precomputed radiance transfer
Parameterization signal-specialized param.
Rendering signal-based graphics architecture
Representation geometry images
4Motivation for Precomputed Transfer
- better light integration and light transport
- dynamic, area lights
- shadowing
- interreflections
- in real-time
point light
area light
area lighting, no shadows
area lighting, shadows
5Self-Transfer Signal (25D)
illuminate
result
Reduces shading to a 25D dot product
(low-frequency lighting)
6Self-Transfer Results (Diffuse)
No Shadows/Inter Shadows
ShadowsInter
7 Self-Transfer Results (Glossy)
No Shadows/Inter Shadows
ShadowsInter
8Self-Transfer Demo
9Parameterization of Surface Signals
Geometry-based (know geometry only)
Signal-specialized (know geometrysignal)
10Measuring Parameterization Quality
2D texture domain
surface in 3D
11Geometric Stretch Metric
2D texture domain
surface in 3D
geometric stretch ?2 G2
Parameterize minimize surface integral of
geometric stretch
12Signal Stretch Metric
domain
surface
f
g
h g?f
signal
Parameterize minimize surface integral of
signal stretch
- geometric stretch ?f2 Gf2
- signal stretch ?h2 Gh2
13Conformal Floater97
Geometric stretch Sander01
Signal stretch Sander02
14(64x64 texture)
Results Scanned Color
Geometric stretch
Signal stretch
15Results Normal Map
Geometric stretch
Signal stretch
128x128 texture - multichart
16Results Precomputed Radiance Transfer
Geometric stretch
Signal stretch
25D signal 256x256 texture
173D graphics 2D image processing?
not quite ? use images but of surface signals not
views
- synthesize images from 3D surface descriptions
- run-time flexibility change view, lighting,
rendering params - compactness single surface parameterization,
not multiple views - high quality (global illumination) resolution
independence - cheap creation no costly rigs operator, easy
to edit - as preprocess, convert 3D descriptions to 2D
image reps (surface signals) to accelerate
run-time - signals can be represented as regular 2D images
- rendering via general, programmable image
processing ops
18Rendering Factorization
global illumination computation is too expensive
from scratch
Preprocess(slow)
Run-Time(fast)
surface signals
- 3D surfaces (meshes)
- 3D graphics
- ray tracing, Monte Carlo integration, dynamics
simulation, encoding
- 2D images, streams
- 2D image processing
- decoding, interpolation / decimation,
programmable pixel shaders, sample gather
19End
20People
Microsoft Research 3D Graphics Group Jim Blinn,
Conal Elliot, Brian Guenter, Hugues Hoppe,
Charles Loop, Don Mitchell, Kirk Olynyk,
Peter-Pike Sloan, John Snyder, Turner Whitted
Collaborators Steven Gortler, Xianfeng Gu, Ziyad
Hakura, Jesse Hall, Jan Kautz, Leonard McMillan,
Pedro Sander, Zoe Wood