55
Radiance Workshop 2004 – Fribourg, 1 Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K. Bouatouch 3 rd International Radiance Workshop 11 - 12 October 2004, Fribourg, Switzerland

1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Embed Size (px)

Citation preview

Page 1: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 1

Radiance Caching for Efficient Global Illumination Computation

J. Křivánek P. Gautron

S. Pattanaik K. Bouatouch

3rd International Radiance Workshop

11 - 12 October 2004, Fribourg, Switzerland

Page 2: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 2

High Quality GI

The Day After Tomorrow, © 2004 20th Century Fox

Shrek 2, © 2004 PDI/DreamWorks

Page 3: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 3

Global Illumination… How?

Lo(P, ωo) ∫ Li(P, ωi)= * BRDF(ωo, ωi) *cos(θ)dωi

Page 4: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 4

Monte Carlo

Shooting Gathering

Lo(P, ωo) ∫ Li(P, ωi)= * BRDF(ωo, ωi) *cos(θ)dωi

No analytical solution

Page 5: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 5

Shooting

Page 6: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 6

Shooting

Page 7: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 7

Shooting

Final gathering: costly

Photon map only for indirect diffuse

Distribution ray tracing for non diffuse: noisy

Page 8: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 8

Gathering

Page 9: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 9

Gathering

Random sampling: noisy

High quality: many rays

Support for glossy GI

Page 10: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 10

Irradiance Caching

Sparse computation of indirect diffuse lighting

Page 11: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 11

Irradiance CachingSparse computation of indirect diffuse lighting

Page 12: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 12

Irradiance Caching

Interpolation

Sparse computation of indirect diffuse lighting

Page 13: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 13

GradientsWhy?

Without gradients With gradients

Images from "Irradiance Gradients", Gregory J. Ward, Paul S. HeckbertEurographics Workshop on Rendering 1992

Page 14: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 14

Gradients

ni

n

E = Ei + …

Page 15: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 15

Rotational gradient

ni

n

ni

n

θ

E = Ei + (ni x n)r Ei

E = Ei + …

Page 16: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 16

Translational gradient

ni

n

D

E = Ei + (ni x n)r Ei

+ Dt Ei

Page 17: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 17

Non diffuse surfaces

Indirect glossy: distribution ray tracing

High quality: many rays

Irradiance values: indirect diffuse

Page 18: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 18

Contributions

BDRF-based selection of record points

Novel translational gradient

Extension to indirect glossy lighting

Low frequency: records

High frequency: distribution ray tracing

Page 19: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 19

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 20: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 20

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 21: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 21

Caching on glossy surfaces

Need hemispherical data representation

Page 22: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 22

Caching on glossy surfaces

ni

n

?

Need new gradients

Page 23: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 23

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 24: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 24

Hemispherical Functions

Original Function Piecewise linear approximation

Need a more compact and smoothrepresentation

Better fitting Fast computation of integrals

Page 25: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 25

Orthogonal Polynomials

fi = f(x)bi(x)dx f(x) = fi bi(x)

g(x) = gi bi(x) f(x)g(x)dx = fi gi

Page 26: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 26

Application to GI

Incident Radiance BRDF

dot product

Page 27: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 27

Spherical Harmonics

(0,0)

(1,-1)

(2,-2) (2,-1) (2,0) (2,1) (2,2)

(1,0) (1,1)

Page 28: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 28

Hemispherical Harmonics

(0,0)

(1,-1)

(2,-2) (2,-1) (2,0) (2,1) (2,2)

(1,0) (1,1)

A Novel Hemispherical Basis for Accurate and Efficient RenderingP. Gautron, J. Křivànek, S. Pattanaik, K. Bouatouch, EGSR 04

Page 29: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 29

Why (Hemi)Spherical harmonics?

Ease of use

Rotation support

Page 30: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 30

Representation Limitations

Bandlimited: "ringing" artifacts

Limit to low-frequency BRDFs

Page 31: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 31

Adaptive BRDF Representation

Low frequency"(H)SH-Friendly"

High frequency

Why?

Ward BRDF with same parameters

Page 32: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 32

Adaptive BRDF RepresentationHow?

BRDF = 4D FunctionParabolic Parameterization

Page 33: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 33

Incoming Radiance

λlm (P) = Li(P, ωi)Bl

m(ωi) d ωi∫

Same principle as Irradiance Caching

Page 34: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 34

Incoming Radiance

λlm (P) = Li(P, ωi)Bl

m(ωi) d ωi∫

Same principle as Irradiance Caching

(H)SH

Page 35: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 35

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 36: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 36

Radiance Gradients

ni

n

(H)SH

Page 37: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 37

Rotational gradient

ni

n

Rotation Matrix

(H)SH

(H)SH= R

ni

n

θ

Page 38: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 38

Translational gradient

D

ni

n

(H)SH

Goal

(H)SH =∂ (H)SH

∂ x, ∂ (H)SH

∂ y, 0

Page 39: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 39

Translational GradientNumerical Method

p

Page 40: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 40

Translational GradientNumerical Method

p Δx p'

Page 41: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 41

Translational GradientNumerical Method

p Δx p'

∂ λlm

∂ x =λ'lm - λl

m

Δx

λlm = *Li( )*Bl

m( )

λ'lm = *Li( )*Blm( )

*Li( )*Blm( )θk, ΦkΩkΣ

k=1

N

λlm =

λ'lm = *Li( )*Blm( )Ω'kΣ

k=1

N

θk, Φk

θk, Φk θ'k, Φ'k

Page 42: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 42

Translational GradientAnalytical Method

*Li ( )*Blm( )θk, ΦkΩkΣ

k=1

N

λlm = θk, Φk

=∂∂ x

, ∂∂ y

, 0

Σk=1

N

∂ λlm =

∂ xLi (θk, Φk)*

+Ωk ∂ x

∂ Blm(θk, Φk)

∂ Ωk

∂ xBl

m(θk, Φk)

Page 43: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 43

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 44: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 44

Outgoing Radiance

ni

n

(H)SH (H

)SHRi= dx+ ∂

∂ x(H)SH

+∂∂ y

(H)SH

dy

Page 45: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 45

Outgoing Radiance

ni

n

=Λ(P)

Ridx+

∂ Λi

∂ xΣi S

Λi dy∂ Λi

∂ y+ wi(P)

Σi S

wi(P)

Page 46: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 46

Outgoing Radiance

Incident Radiance BRDF

dot product

Page 47: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 47

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 48: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 48

Stills comparison

P4 2.2GHz, 512MB RAM

Monte Carlo Path Tracing Radiance Caching

Rendering time: 155s

Page 49: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 49

Stills comparison

Monte Carlo Path Tracing

Radiance Caching

Page 50: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 50

Video: Cornell Box

Page 51: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 51

Video: Flamingo

Page 52: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 52

Outline

Introduction

IC for glossy surfaces

Hemispherical data representation

Radiance gradients

Outgoing radiance computation

Results

Conclusion

Page 53: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 53

Conclusion

Extension of irradiance caching to radiance caching

Definition of new translational gradient

Quality improvement

Efficiency improvement

Independent from distribution

Independent from basis functions

Page 54: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 54

Future Work

"All-frequency" hemispherical representation

Hardware support

Page 55: 1 Radiance Workshop 2004 – Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K

Radiance Workshop 2004 – Fribourg, Switzerland 55

Any Questions ?

Rendered using Radiance Caching