+ All Categories
Home > Documents > Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Date post: 22-Jan-2016
Category:
Upload: iden
View: 62 times
Download: 5 times
Share this document with a friend
Description:
Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics. Jan Kautz, MPI Informatik Peter-Pike Sloan, Microsoft Research John Snyder, Microsoft Research. Motivation – BRDF vs. Light Complexity. Lighting. ?. area lights. point lights. BRDF Complexity. - PowerPoint PPT Presentation
Popular Tags:
27
Fast, Arbitrary BRDF Shading for Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Low-Frequency Lighting Using Spherical Harmonics Spherical Harmonics Jan Kautz, MPI Informatik Jan Kautz, MPI Informatik Peter-Pike Sloan, Microsoft Research Peter-Pike Sloan, Microsoft Research John Snyder, Microsoft Research John Snyder, Microsoft Research
Transcript
Page 1: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Fast, Arbitrary BRDF Shading for Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Low-Frequency Lighting Using

Spherical HarmonicsSpherical Harmonics

Jan Kautz, MPI InformatikJan Kautz, MPI Informatik

Peter-Pike Sloan, Microsoft ResearchPeter-Pike Sloan, Microsoft Research

John Snyder, Microsoft ResearchJohn Snyder, Microsoft Research

Page 2: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Motivation –Motivation –BRDF vs. Light ComplexityBRDF vs. Light Complexity

BRDF BRDF ComplexityComplexity

LightingLighting

Phong +Phong +diffusediffuse

arbitraryarbitraryaniso. BRDFsaniso. BRDFs

pointpointlightslights

areaarealightslights ??

Page 3: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Motivation – Motivation – What we wantWhat we want

• What we want:What we want:• Illuminate objects with Illuminate objects with

environment mapsenvironment maps

• Use Use arbitraryarbitrary BRDFs BRDFs

• Change lighting Change lighting on-the-flyon-the-fly

• Possibly include Possibly include self-shadowing andself-shadowing andinterreflectionsinterreflections

• At real-time ratesAt real-time rates

Ph

on

gP

hon

gA

nis

otro

pic

An

isotro

pic

Page 4: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Related Work –Related Work –Interactive TechniquesInteractive Techniques

BRDF BRDF ComplexityComplexity

LightingLighting

PhoDiffPhoDiff

RefSpaceRefSpace

ApproxEnvApproxEnv HomEnvHomEnv

DiffSHDiffSH

FreqSpace FreqSpace

Our TechniqueOur Technique

ArbBRDFArbBRDF

PRTPRT

diffusediffuse PhongPhong isotropicisotropic anisotropicanisotropic

Phong/Diffuse Prefiltered Environment MapsPhong/Diffuse Prefiltered Environment Maps[Miller84] [Greene86] [Heidrich99][Miller84] [Greene86] [Heidrich99]Arbitrary BRDFs with Point LightsArbitrary BRDFs with Point Lights[Kautz99] [McCool01][Kautz99] [McCool01]BRDF Approximation for Environment MapsBRDF Approximation for Environment Maps[Kautz99][Kautz99]Reflection Space RenderingReflection Space Rendering[Cabral99][Cabral99]Diffuse Environment Maps using Spherical HarmonicsDiffuse Environment Maps using Spherical Harmonics[Ramamoorthi01][Ramamoorthi01]Homomorphic Factorization of Environment MapsHomomorphic Factorization of Environment Maps[Latta02][Latta02]Frequency Space Environment MappingFrequency Space Environment Mapping[Ramamoorthi02][Ramamoorthi02]Precomputed Radiance TransferPrecomputed Radiance Transfer[Sloan02][Sloan02]Our TechniqueOur Technique

point lightspoint lights

low-frequencylow-frequencyarea lightingarea lighting

high-frequencyhigh-frequencyarea lightingarea lighting

Page 5: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Related WorkRelated Work

• Previous use of Spherical HarmonicsPrevious use of Spherical Harmonics• [Cabral87] Bidirectional Reflection Functions [Cabral87] Bidirectional Reflection Functions

from Surface Bump Mapsfrom Surface Bump Maps

• [Westin92] Predicting Reflectance Functions [Westin92] Predicting Reflectance Functions from Complex Surfaces from Complex Surfaces

Page 6: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Background – Background – Spherical HarmonicsSpherical Harmonics

• Spherical Harmonics : Spherical Harmonics : • Orthonormal basis over the sphereOrthonormal basis over the sphere

• Analogous to Fourier transform over 1D circleAnalogous to Fourier transform over 1D circle

• Important properties:Important properties:• Rotational invariance Rotational invariance no aliasing artifacts no aliasing artifacts

• Projection:Projection:

• Integration:Integration:

• Rotation: linear xform on coefficientsRotation: linear xform on coefficients

sdsysff ii

)()( sdsysff ii

)()(

n

iiibasdsbsa

1

)(~)(~

n

iiibasdsbsa

1

)(~)(~

)(syi)(syi

Page 7: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Background –Background –Spherical HarmonicsSpherical Harmonics

• Basis functions (examples)Basis functions (examples)

i = 1i = 1 i = 2i = 2 i = 3i = 3 i = 4i = 4

i = 8i = 8 i = 12i = 12 i = 15i = 15 i = 19i = 19

Page 8: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Background –Background –Spherical HarmonicsSpherical Harmonics

• Example: projection of environmentExample: projection of environment

n=4n=4 n=9n=9 n=25n=25

n=26n=2622 originaloriginal

Page 9: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

sdsfsLvL vinout

p

)()()( * sdsfsLvL v

inoutp

)()()( *

Environment Mapping + Environment Mapping + Spherical HarmonicsSpherical Harmonics

• Rendering Equation (no shadows):Rendering Equation (no shadows):

• Rewrite with Rewrite with

• Project Lighting and BRDFProject Lighting and BRDF

sdnsvsfsLvL pinout

p

)0,max(),()()( sdnsvsfsLvL p

inoutp

)0,max(),()()(

)0,max(),()(* pv nsvsfsf

)0,max(),()(* pv nsvsfsf

light function:light function:

into SHinto SH

BRDF:BRDF:

into SHinto SH

*,ivf *,ivf

iniLiniL

Page 10: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Evaluating the IntegralEvaluating the Integral

• The integralThe integral

becomesbecomes

• But BRDF defined in local frameBut BRDF defined in local frameRotate lighting (or BRDF) to match:Rotate lighting (or BRDF) to match:

sdsfsLvL vinout

p

)()()( * sdsfsLvL v

inoutp

)()()( *

n

iiv

ini

outp fLvL *

,)(

n

iiv

ini

outp fLvL *

,)(

n

iiv

inip

outp fLRvL *

,)(

n

iiv

inip

outp fLRvL *

,)(

pRpR

Page 11: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Preprocessing –Preprocessing –BRDF TextureBRDF Texture

• Project BRDF into SH:Project BRDF into SH:

• Put coefficients in texture mapPut coefficients in texture map

• Use parabolic parameterization for Use parabolic parameterization for

sdsysff iviv

)()(**

, sdsysff iviv

)()(**

,

vv

i=1i=1 i=3i=3 i=4i=4 i=5i=5 i=6i=6 i=7i=7

……

)1,0,0(v

)1,0,0(v

)0,1,0(v

)0,1,0(v

Page 12: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

RenderingRendering

Project lightingProject lighting

……

Lookup (local )Lookup (local )*,ivf *,ivf v

v

* * = =

Rotate lighting (to local)Rotate lighting (to local)

= =

Compute integralCompute integral

sdsfsLvL vinout

p

)()()( * sdsfsLvL v

inoutp

)()()( *

per per objectobject

per per pixel/vertexpixel/vertex

Page 13: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

ExamplesExamples

PhongPhong AnisotropicAnisotropicbrushed in Xbrushed in X

AnisotropicAnisotropicbrushed in Ybrushed in Y

Page 14: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Rendering – Rendering – Fixed LightFixed Light

……

* * = =

= =

Project lightingProject lighting Lookup (local )Lookup (local )*,ivf *,ivf v

v

Rotate lighting (local)Rotate lighting (local)

Compute integralCompute integral

sdsfsLvL vinout

p

)()()( * sdsfsLvL v

inoutp

)()()( *

ONCEONCE

Page 15: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Rendering – Rendering – Fixed ViewFixed View

……

* * = =

= =

Project lightingProject lighting Lookup (local )Lookup (local )*,ivf *,ivf v

v

Rotate BRDF (to global)Rotate BRDF (to global)

Compute integralCompute integral

sdsfsLvL vinout

p

)()()( * sdsfsLvL v

inoutp

)()()( *

ONCEONCE

Page 16: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

ExampleExample

• Bird modelBird model

• 48K vert.48K vert.

• Measured VinylMeasured Vinyl

• FPS:FPS:• 6.04 free light/view6.04 free light/view

• 28.4 fixed light28.4 fixed light

• 128 fixed view128 fixed view

Page 17: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Precomputed Radiance Precomputed Radiance TransferTransfer

Without PRTWithout PRT PRT: Shadows+Interrefl.PRT: Shadows+Interrefl.SIG02: Phong onlySIG02: Phong only

[SIG02][SIG02]

Page 18: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Precomputed Radiance Precomputed Radiance Transfer – Transfer MatrixTransfer – Transfer Matrix

**

**

lig

hti

ng

lig

hti

ng

transfer matricestransfer matrices transferred radiancetransferred radiance

pp11

pp22

pp11

pp22

Precompute how global incident lighting Precompute how global incident lighting local incident local incident

Page 19: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Arbitrary BRDF with PRTArbitrary BRDF with PRT

……

* * = =

= =

Project lightingProject lighting Lookup (local )Lookup (local )*,ivf *,ivf v

v

Transfer & rotate lightTransfer & rotate light

Compute integralCompute integral

sdsfsVsLvL vpinout

p

)()()()( * sdsfsVsLvL vp

inoutp

)()()()( *

per per objectobject

per per pixel/vertexpixel/vertex* *

Page 20: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

ExampleExample

• StanfordStanfordbuddhabuddha

• 50K vert.50K vert.

• Ashikhmin-Ashikhmin-BRDFBRDF

• FPS:FPS:• 4.05 no xfer4.05 no xfer

• 3.22 xfer3.22 xfer

• 15.6 fixed light15.6 fixed light

• 127 fixed view127 fixed view

Page 21: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Example 2:Example 2:PRT with different BRDFsPRT with different BRDFs

Phong [SIG02]Phong [SIG02] Measured VinylMeasured Vinyl

Page 22: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Results –Results –Different BRDFsDifferent BRDFs

Page 23: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Results –Results –Brushed Metal-PatchBrushed Metal-Patch

Anisotropic ASAnisotropic ASbrushed radiallybrushed radially

Anisotropic ASAnisotropic ASbrushed tangentallybrushed tangentally

Page 24: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Results – Results – Spatially Varying BRDFSpatially Varying BRDF

Varying ExponentVarying Exponent Varying Varying AnisotropyAnisotropy

Page 25: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Comparison of SH order Comparison of SH order vs. Glossinessvs. Glossiness

Page 26: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

ConclusionsConclusions

Pros:Pros:

• Fast, arbitrary dynamic lightingFast, arbitrary dynamic lighting

• Works for Works for arbitraryarbitrary BRDFs BRDFs

• Combined with PRT: includes Combined with PRT: includes shadows and interreflectionsshadows and interreflections

Cons:Cons:

• Works only for low-frequency Works only for low-frequency lightinglighting

• Not real-time (yet)Not real-time (yet)

Page 27: Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Thank you!Thank you!

Questions?Questions?

Please visit us at Please visit us at www.mpi-sb.mpg.dewww.mpi-sb.mpg.de


Recommended