frequency domain normal map filtering

41
Frequency Domain Normal Map Filtering Charles Han Bo Sun Ravi Ramamoorthi Eitan Grinspun Columbia University

Upload: joshua-justice

Post on 30-Dec-2015

67 views

Category:

Documents


2 download

DESCRIPTION

Frequency Domain Normal Map Filtering. Charles Han Bo Sun Ravi Ramamoorthi Eitan Grinspun Columbia University. Normal Mapping. (Blinn 78). Normal Mapping. (Blinn 78) Specify surface normals. Normal Mapping. ?. A Problem…. Multiple normals per pixel Undersampling Filtering needed. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Frequency Domain Normal Map Filtering

Frequency DomainNormal Map Filtering

Charles HanBo Sun

Ravi RamamoorthiEitan Grinspun

Columbia University

Page 2: Frequency Domain Normal Map Filtering

Normal Mapping

• (Blinn 78)

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 3: Frequency Domain Normal Map Filtering

Normal Mapping

QuickTime™ and aH.264 decompressor

are needed to see this picture.

• (Blinn 78)• Specify surface

normals

Page 4: Frequency Domain Normal Map Filtering

Normal Mapping

Page 5: Frequency Domain Normal Map Filtering

A Problem…

• Multiple normals per pixel

• Undersampling• Filtering needed

?

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 6: Frequency Domain Normal Map Filtering

Supersampling

• Correct results• Too slow

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 7: Frequency Domain Normal Map Filtering

MIP mapping

• Pre-filter• Normals do not

interpolate linearly

• Blurring of details

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 8: Frequency Domain Normal Map Filtering

Comparison

supersampled MIP mapped

Page 9: Frequency Domain Normal Map Filtering

Representation

a single vector is not enough

how do we represent multiple surface normals?

Page 10: Frequency Domain Normal Map Filtering

Previous Work

• Gaussian Distributions– (Olano and North 97)– (Schilling 97)– (Toksvig 05)

• Mixture Models– (Fournier 92)– (Tan, et.al. 05)

3D Gaussian 2D covariance matrix

1D Gaussian

mixture of Phong lobes

mixture of 2D Gaussians

no general solution

Page 11: Frequency Domain Normal Map Filtering

Our Contributions

• Theoretical Framework – Normal Distribution Function (NDF) – Linear averaging for filtering– Convolution for rendering– Unifies previous works

• New normal map representations– Spherical harmonics– von Mises-Fisher Distribution

• Simple, efficient rendering algorithms

Page 12: Frequency Domain Normal Map Filtering

Normal Distribution Function (NDF)

• Describes normals within region • Defined on the unit sphere• Integrates to one• Extended Gaussian Image (Horn 84)

Page 13: Frequency Domain Normal Map Filtering

Normal Distribution Function

QuickTime™ and aH.264 decompressor

are needed to see this picture.

NDF

normal map

Page 14: Frequency Domain Normal Map Filtering

Normal Distribution Function

QuickTime™ and aH.264 decompressor

are needed to see this picture.

NDF

normal map

Page 15: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Normal Distribution Function

NDF

normal map

Page 16: Frequency Domain Normal Map Filtering

Normal Distribution Function

NDF

normal map

Page 17: Frequency Domain Normal Map Filtering

NDF Filtering

normal map

Page 18: Frequency Domain Normal Map Filtering

NDF Filtering

normal map

Page 19: Frequency Domain Normal Map Filtering

NDF Filtering

• NDF averaging is linear• Store NDFs in MIP map

Page 20: Frequency Domain Normal Map Filtering

Rendering

rendered image

B(ωout ) = L(ωin )∫ ρ (ω ⋅n) dωin

normal,

n

pixel value lights BRDF

Radially symmetric BRDFs• Lambertian:• Blinn-Phong:• Torrance-Sparrow:• Factored:€

(ωin ⋅n)

(ωh ⋅n)S

f (θh )g(θd )

exp θh2

[ ]

Page 21: Frequency Domain Normal Map Filtering

Supersampling

supersampled imagesamples

B(ωout ) =1

NL(ωin )∫ ρ (ω ⋅ni)

i

∑ dω

B(ωout ) = L(ωin )∫ 1

Nρ (ω ⋅ni)

i

∑ ⎡

⎣ ⎢

⎦ ⎥dω

Effective BRDF

1N L(ωin )∫ ρ(ω ⋅n1) dω

+1N L(ωin )∫ ρ(ω ⋅n2) dω

+M+

1N L(ωin )∫ ρ(ω ⋅nN) dω

Page 22: Frequency Domain Normal Map Filtering

samples

Effective BRDF

ρeff (ω) =

1

Nρ(ω • ni)

i

NDF,

γ(n)

ρ(ω • n)

γ(n)∫

dn

ρeff (ω) =

Page 23: Frequency Domain Normal Map Filtering

Spherical Convolution

• Form studied in lighting– (Basri and Jacobs 01)– (Ramamoorthi and Hanrahan 01)

• Effective BRDF = convolution of NDF & BRDF

ρ(ω • n)

γ(n)∫

dn

ρeff (ω) =

Page 24: Frequency Domain Normal Map Filtering

NDF

Spherical Convolution

=

Effective BRDF BRDF

ρ(ω • n)

γ(n)∫

dn

ρeff (ω) =

Page 25: Frequency Domain Normal Map Filtering

Previous Work

• Gaussian Distributions– Olano and North (97)– Schilling (97)– Toksvig (05)

• Mixture Models– Fournier (92)– Tan, et.al. (05)

• Our Work

3D Gaussian2D covariance matrix

1D Gaussian

mixture of Phong lobesmixture of 2D

Gaussians

NDF representations

spherical harmonicsvon Mises-Fisher mixtures

Page 26: Frequency Domain Normal Map Filtering

Spherical Harmonics

• Analogous to Fourier basis• Convolution formula:

ρ(ω • n)

γ(n)∫

dn

ρeff (ω) =

ρlmeff = ρ lγ lm

Page 27: Frequency Domain Normal Map Filtering

BRDF Coefficients

ρlmeff = ρ lγ lm

• Arbitrary BRDFs• Cheaply represented

– Analytic: compute in shader – Measured: store on GPU

• Easily changed at runtime

Page 28: Frequency Domain Normal Map Filtering

NDF Coefficients

• Store in MIP mapped textures• Finest-level NDFs are delta functions,

so:

• Use standard linear filtering€

γlm = δ(n)Ylm (ω)dω =∫ Ylm (n)€

ρlmeff = ρ lγ lm

Page 29: Frequency Domain Normal Map Filtering

Effective BRDF Coefficients

• Product of NDF, BRDF coefficients • Proceed as usual

ρlmeff = ρ lγ lm

Page 30: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 31: Frequency Domain Normal Map Filtering

Limitations

• Storage cost of NDF– One texture per coefficient– O( ) cost

• Limited to low frequencies

l2

Page 32: Frequency Domain Normal Map Filtering

von Mises-Fisher Distribution (vMF)

• Spherical analogue to Gaussian• Desirable properties

– Spherical domain– Distribution function– Radially symmetric

more concentrated less concentrated

Page 33: Frequency Domain Normal Map Filtering

Mixtures of vMFs

NDF

number of vMFs

1 2 3 4 5 6

Page 34: Frequency Domain Normal Map Filtering

Expectation Maximization (EM)

• From machine learning• Used in (Tan et.al. 05)• Fit model parameters to data

data

NDF

model

vMF Mixture

EM

Page 35: Frequency Domain Normal Map Filtering

Rendering

• Convolution– Spherical harmonic coefficients– Analytic convolution formula

• Extensions to EM– Aligned lobes (Tan et.al. 05)– Colored lobes

NDF rendered image

γl

Page 36: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 37: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 38: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 39: Frequency Domain Normal Map Filtering

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 40: Frequency Domain Normal Map Filtering

Conclusion

• Summary– Theoretical Framework– New NDF representations– Practical rendering algorithms

• Future directions– Offline rendering, PRT – Further applications for vMFs– Shadows, parallax, inter-reflections, etc.

Page 41: Frequency Domain Normal Map Filtering

Thanks!

Tony Jebara, Aner Ben-Artzi, Peter Belhumeur, Pat Hanrahan, Shree Nayar, Evgueni Parilov, Makiko Yasui, Denis Zorin, and nVidia.

http://www.cs.columbia.edu/cg/normalmap