efficient rendering of local subsurface scattering tom mertens 1, jan kautz 2, philippe bekaert 1,...

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

Upload: shanon-randall

Post on 29-Jan-2016

215 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

Acknowledgments

• Head model courtesy of nVIDIA

• Funding:European Regional Development Fund