improved radiance gradient computation jaroslav křivánek pascal gautron kadi bouatouch sumanta...

35
Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Upload: kayli-wayment

Post on 01-Apr-2015

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation

Jaroslav Křivánek

Pascal Gautron

Kadi Bouatouch

Sumanta Pattanaik

ComputerGraphicsGroup

Page 2: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation2/35

Indirect lighting on glossy surfaces

With indirect Without indirect

Page 3: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation3/35

Indirect lighting on glossy surfaces

With indirect Without indirect

Page 4: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation4/35

Problem to solve Illumination integral evaluation at each visible

point

P

i),( ii PL

iiioiioo dBRDFPLPL cos),(),(),(

i

Page 5: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation5/35

Brute Force Approach Monte Carlo gathering For each visible point

Slow convergence rate

Cast hundreds of rays

Page 6: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation6/35

Slow Monte Carlo Convergence - Example 40 samples per pixel

Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 7: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation7/35

Slow Monte Carlo Convergence - Example 100 samples per pixel

Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 8: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation8/35

Slow Monte Carlo Convergence - Example 300 samples per pixel

Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 9: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation9/35

Slow Monte Carlo Convergence - Example 600 samples per pixel

Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 10: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation10/35

Slow Monte Carlo Convergence – Example 1200 samples per pixel

Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 11: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation11/35

Observation Indirect lighting on rough glossy surfaces is

rather smooth: abrupt changes are rare

Page 12: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation12/35

Radiance Caching Approach Sparse sampling of indirect illumination Interpolation

Based on gradients

Page 13: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation13/35

Radiance Caching

SceneRadiance

Cache

P1

Radiance cache lookup

CacheMiss!

Samplehemisphere

Project to hemispherical

harmonics

P1

Store incache

Lo=∫ x BRDF(P1) x cos θ dωLo(P1)

P2

Radiancecachelookup

Lo(P2)=∫ x BRDF(P2) x cos θ dωLo(P2)

Page 14: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation14/35

ProblemReality

P1 P2

With radiance caching

P1 P2

Li(P1) = Li(P2)Li(P1) != Li(P2)

Wrong extrapolation

Page 15: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation15/35

Wrong Extrapolation How does Li(P) change with P?

( Li(P) = incoming radiance at P )

First approximation = RADIANCE GRADIENT

Our contribution New radiance gradient computation

Page 16: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation16/35

Wrong Extrapolation

Page 17: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation17/35

Corrected with the New Gradients

Page 18: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation18/35

Radiance Gradients: Problem Definition – Prerequisites Incoming radiance Li(P) representation

Li(P) is defined over a hemisphere Represented using hemispherical harmonics

Li(P) represented by a set of coefficients

),(),;(1

0

n

l

l

lm

ml

mli HPL

Coefficients

Basis functions

Page 19: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation19/35

Radiance Gradients: Problem Definition – Prerequisites Coefficients computed with Monte Carlo

quadrature Uniform hemisphere

sampling Stratification

1

0

1

0,,, ),(

2 M

j

N

kkjkj

ml

ikj

ml HL

NM

Sum over all strata

Incoming radiance from the sampled direction

Multiplied by thebasis function

Page 20: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation20/35

Radiance Gradients: Problem Definition Coefficients – hemisphere sampling

Gradients from the same hemisphere sampling Something like

1

0

1

0,,, ),(

2 M

j

N

kkjkj

ml

ikj

ml HL

NM

1

0

1

0, ......

M

j

N

k

ikj

ml L

Page 21: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation21/35

Previous Work - Polygonal emitters

Arvo 1994 Irradiance Jacobian due to partially occluded

polygonal emitters of constant radiosity Holzschuch and Sillion 1995

Polygonal emitters of arbitrary radiosity

Page 22: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation22/35

Previous Work - Hemisphere sampling Ward and Heckbert 1992 “Irradiance gradients”

Specifically for irradiance Cosine-proportional, uniformly weighted samples over

the hemisphere We extend this to uniformly distributed, arbitrarily

weighted samples Křivánek et al. 2005, Annen 2004

Radiance gradient Works mostly fine, except when there is occlusion in

the sampled environment We improve quality of this

Page 23: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation23/35

Gradient Computation

1. Compute contribution from each hemisphere cell

2. Sum it all together

Page 24: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation24/35

Gradient Computation for One Cell

Page 25: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation25/35

Gradient Computation for One Cell

Page 26: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation26/35

Gradient Computation for One Cell

Wall movement => cell area changes

Cell area change => solid angle changes

Solid angle change => incoming radiance changes

Page 27: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation27/35

Putting it all together Sum incoming radiance changes from all cells Use the basis functions H as a weighting factor

Basis functions do not change with displacement

Cell area change

Incoming radiance change

Weighting by thebasis function

Page 28: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation28/35

Results

Old gradients New gradients - smooth

Page 29: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation29/35

Results

New gradientsOld gradients

Page 30: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation30/35

Results

Old gradients

Page 31: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation31/35

Results

New gradients

Page 32: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation32/35

Gradients for GPU-based irradiance and radiance caching Hemisphere sampling = GPU rasterization Camera position = hemisphere center

Very non-uniform density of samples over the hemisphere

The same gradient derivation still holds (and WORKS!).

P

Page 33: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation33/35

Gradients for GPU-based irradiance and radiance caching Irradiance caching video Offline irradiance caching video Radiance caching video – castle, walt disney

hall

Page 34: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation34/35

Conclusion New translational gradient computation Use information from hemisphere sampling Based on the Irradiance Gradients by Ward and

Heckbert Generalized to support

Arbitrary distribution of radiance samples over the hemisphere

Arbitrary weighting of radiance samples

Page 35: Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik ComputerGraphicsGroup

Improved Radiance Gradient Computation35/35

Thank you

? ?