Title: Efficient Rendering of Local Subsurface Scattering
1Efficient Rendering of Local Subsurface Scattering
Tom Mertens1, Jan Kautz2, Philippe Bekaert1,
Frank Van Reeth1, Hans-Peter Seidel2
1
2
2Overview
- Problem
- Related Work
- Local Subsurface Scattering
- Our Approach
- Implementation Results
- Discussion
- Summary Future Work
3Subsurface Scattering
translucent
opaque
BSSRDF
4BSSRDF model
- introduced by Jensen et al. (SIGGRAPH01)
- multiple scattering
- materials with high albedo marble, milk, wax,
skin,
function of distance
5BSSRDF model
- introduced by Jensen et al. (SIGGRAPH01)
- multiple scattering
- materials with high albedo marble, milk, wax,
skin,
function of distance
6Related Work
- Jensen et al. 02
- General scattering effects
- Offline rendering
- Mertens et al. 03
- Dynamic models
- General scattering effects
- Per vertex
- Our paper
- Dynamic models
- Local scattering effects
- Per pixel
7Local Subsurface Scattering
- Certain cases no global response
- Dense materials
- Large scale
- Distinct appearance!
- Rough surface
- Local sampling sufficient
- But accuracy is important!
- Rd decays exponentially
- Per vertex too coarse
- Apply to skin rendering
Global response
Only local response
8Local Subsurface Scattering
Local subsurface scattering
Diffuse
9Local Subsurface Scattering
Local
Full
10Our Approach
- High level description
- Employ importance sampling scheme for Rd
- Rendering algorithm
- Generate importance samples
- Render irradiance image
- Integrate irradiance image locally in tangent
plane
11Importance Sampling of Rd
- Need to solve integral
- Idea sample according to Rd
- Result set of distances ri
- Issues
- Need samples on surface, not ris
- Need irradiance at sample
12Importance sampling of Rd
- Solution
- Pick a view e
- Render irradiance to image T
- Generate sample p in tangent plane
- Project p on surface ? p
- Project p into T
- to retrieve irradiance E(p)
13Importance sampling of Rd
- We take eye position for e
- p ? p implies a jacobian J
- ratio of solid angles
- Integral becomes
14Rendering Algorithm
- Generate importance samples in 2D
2D
Rd
ri
15Rendering Algorithm
16Rendering Algorithm
- Integrate image locally in tangent plane
17Rendering Algorithm
- Store result in final image
18Implementation
- Variance reduction
- Stratified sampling
- Deterministic, pseudo random
- Interleaved sampling
- Noise ? dither pattern
- Combined sampling
- Importance uniform
- Irradiance discontinuties
- Software implementation
- Programmable Graphics Hardware
Combined sampling Uniform importance
19Implementation
- Programmable Graphics Hardware
- Overview
- generate 2D samples
- quick per-frame preprocess in software
- Render irradiance image T
- Bind E as texture
- For each sample
- Look up sample E in T (pixel shader)
- Accumulate E in temporary texture
- Output temporary texture
20Results
- ATI Radeon 9700 Pro
- 500x500 image, 4 to 5 frames/sec
- Some pictures
21Image Quality
Color bleeding (forehead)
Shadow smoothing
22Image Quality
nVIDIAs skin shader
Our method
23Complex lighting
24Demo video
25(No Transcript)
26Discussion
- No global effects
- E.g. backlit ears
- Prone to noise
- Irradiance discontinuities
- Shadow borders
- Geometric discontinuities
- Kills effect of importance sampling
- Ghosting artifacts
- Accumulation ? fill-rate limited
ghosting
27Summary
- Novel technique for local subsurface scattering
- Amenable for hardware implementation
- Interactive frame rates
- Dynamic models
- Application skin rendering
28Future Work
- Hybrid algorithm
- Global response per vertex
- Local response per pixel
- Eliminate ghosting
- Apply technique in texture space
- Combine with skin BRDF
- Take into account varying blood concentrations
29Acknowledgments
- Head model courtesy of nVIDIA
- Funding
- European Regional Development Fund