efficient rendering of local subsurface scattering tom mertens 1, jan kautz 2, philippe bekaert 1,...
TRANSCRIPT
![Page 1: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/1.jpg)
Efficient Rendering of Local Subsurface Scattering
Tom Mertens1, Jan Kautz2, Philippe Bekaert1,
Frank Van Reeth1, Hans-Peter Seidel2
1 2
![Page 2: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/2.jpg)
Overview
• Problem• Related Work• Local Subsurface Scattering• Our Approach• Implementation & Results• Discussion• Summary & Future Work
![Page 3: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/3.jpg)
Subsurface Scattering
BRDF
),( oirf ),,,( ooii xxS
BSSRDF
opaq
uetranslucent
![Page 4: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/4.jpg)
BSSRDF model
)()()(),,,( iiodoooii FxxRFxxS
function of distance
• introduced by Jensen et al. (SIGGRAPH’01)• multiple scattering• materials with high albedo: marble, milk, wax, skin,…
![Page 5: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/5.jpg)
surface
d dAirradianceRfresnelshading
BSSRDF model
)()()(),,,( iiodoooii FxxRFxxS
function of distance
• introduced by Jensen et al. (SIGGRAPH’01)• multiple scattering• materials with high albedo: marble, milk, wax, skin,…
![Page 6: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/6.jpg)
Related 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
![Page 7: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/7.jpg)
Local 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
Only local response
Global response
![Page 8: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/8.jpg)
Local Subsurface Scattering
Local subsurface scattering Diffuse
![Page 9: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/9.jpg)
Local Subsurface Scattering
Local Full
![Page 10: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/10.jpg)
Our 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
![Page 11: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/11.jpg)
Importance Sampling of Rd
• Need to solve integral
• Idea: sample according to Rd
Result: set of distances ri
• Issues:– Need samples on surface, not ri’s
– Need irradiance at sample
surface
d dAirradianceR
![Page 12: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/12.jpg)
Importance 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’)
![Page 13: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/13.jpg)
Importance sampling of Rd
• We take eye position for e • p’ p implies a jacobian J
– ratio of solid angles
• Integral becomes:
)'()'(
)(i
i id
id pEJrR
rR
![Page 14: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/14.jpg)
Rendering Algorithm
• Generate importance samples in 2D
2D Rd
ri
![Page 15: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/15.jpg)
Rendering Algorithm
• Render irradiance image
![Page 16: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/16.jpg)
Rendering Algorithm
• Integrate image locally in tangent plane
![Page 17: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/17.jpg)
Rendering Algorithm
• Store result in final image
![Page 18: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/18.jpg)
Implementation
• Variance reduction– Stratified sampling
• Deterministic, pseudo random
– Interleaved sampling• Noise dither pattern
– Combined sampling• Importance + uniform• Irradiance discontinuties
• Software implementation • Programmable Graphics Hardware
Combined samplingUniformimportance
![Page 19: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/19.jpg)
Implementation
• 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
![Page 20: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/20.jpg)
Results
• ATI Radeon 9700 Pro• 500x500 image, 4 to 5 frames/sec• Some pictures…
![Page 21: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/21.jpg)
Image Quality
Color bleeding (forehead) Shadow smoothing
![Page 22: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/22.jpg)
Image Quality
nVIDIA’s skin shader Our method
![Page 23: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/23.jpg)
Complex lighting
![Page 24: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/24.jpg)
Demo video
![Page 25: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/25.jpg)
![Page 26: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/26.jpg)
Discussion
• 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
![Page 27: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/27.jpg)
Summary
• Novel technique for local subsurface scattering
• Amenable for hardware implementation• Interactive frame rates• Dynamic models• Application: skin rendering
![Page 28: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/28.jpg)
Future 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
![Page 29: Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel 2 1 2](https://reader036.vdocuments.us/reader036/viewer/2022070418/56649eea5503460f94bfbd69/html5/thumbnails/29.jpg)
Acknowledgments
• Head model courtesy of nVIDIA
• Funding:European Regional Development Fund