23
Spatial Directional Radiance Caching Václav Gassenbauer Czech Technical University in Prague Jaroslav Křivánek Cornell University Kadi Bouatouch IRISA / INRIA Rennes 1

Spatial Directional Radiance Caching

  • Upload
    gilead

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Spatial Directional Radiance Caching. Václav Gassenbauer Czech Technical University in Prague Jaroslav Křivánek Cornell University Kadi Bouatouch IRISA / INRIA Rennes. Goal. Acceleration of Global Illumination Computation on Glossy Surfaces. Adapt glossiness of surfaces. Previous Work. - PowerPoint PPT Presentation

Citation preview

Page 1: Spatial Directional Radiance Caching

1

Spatial Directional Radiance Caching

Václav GassenbauerCzech Technical University in Prague

Jaroslav KřivánekCornell University

Kadi BouatouchIRISA / INRIA Rennes

Page 2: Spatial Directional Radiance Caching

2

GoalAcceleration of Global Illumination

Computation on Glossy Surfaces

Adapt glossiness of surfaces

Page 3: Spatial Directional Radiance Caching

3

Previous WorkIrradiance caching (IC)

◦[Ward et al. 88], [Ward and Heckbert 92]◦ Indirect illumination changes slowly →

interpolateVariants of IC

◦[Tabellion and Lamorlette 04], [Brouillat et al. 08], [Arikan et al. 05], …

Radiance caching (SHRC) ◦[Křivánek et al. 05]

Other techniques ◦[Hinkenjann and Roth 07, …]

Page 4: Spatial Directional Radiance Caching

4

MotivationRadiance caching limitation

◦Uniform sampling of full hemisphere◦Low glossy surfaces◦Conversion of the scene BRDFs into the

frequency domain in preprocess

Page 5: Spatial Directional Radiance Caching

5

SDRC – OverviewCaching schemeCache structureNew record computationSpatial / Directional InterpolationOutgoing radiance computation

Page 6: Spatial Directional Radiance Caching

6

Spatial Cache Lookup

SpatialCacheMiss!

BRDFImportanceSampling

Spatial Directional Caching SchemeSpatialCache

p2

iL

p1

Project Sample onto Unit Square

Store incache

iLiL

N

i

oL1

/pdfoL

Spatial Cache Lookup

iL

SpatialCache

Hit!

DirectionalCache HIT!

DirectionalCache MISS!

Directional

CacheUpdate

M

i

oL1

/pdfoL

Directional Cache

Page 7: Spatial Directional Radiance Caching

7

Structure of the Two Caches

kD-tree(directional cache)

Octree (spati

al cache)

SpatialCache

iL

iL

iL

Page 8: Spatial Directional Radiance Caching

8

New Record ComputationGenerate N

samples using BRDF importance sampling

pCompute incoming radiance using ray casting and photon mapTransform samples onto 2D domain

Build a k-D tree upon the samples

L-tree

Page 9: Spatial Directional Radiance Caching

9

Spatial Interpolation

p

Collect L-trees that can be used for interpolation at p (borrowed from RC)

For all L-trees found compute the spatial weight

1

1

i

i

isi Rw nn

ppp

Spatial

Cache

Spatial Cache Lookup

p1

p2p

SpatialCache

Hit!L-tree(p2)

p2

L-tree(p1)p1

Page 10: Spatial Directional Radiance Caching

10

Directional Interpolation

p2

p

L-tree(p2)

Generate M(M<<N) samples using BRDF importance sampling

For all the samples try find nearby radiance samples in L-tree(p2) in S(p)

Transform samples onto unit domain

Update L-tree(p2) if necessary

Radiance sample found

Radiance not sample found→ ray tracing

L-tree(p2)

Page 11: Spatial Directional Radiance Caching

11

Which Radiance Samples Are Nearby?

i-th L-tree

dr

2d

2

1,0maxr

w jikj

dik

ininin

Compute search radius for each radiance sample

Collect nearby radiance samples

Compute directional weights

dr inj

inik

inik

Page 12: Spatial Directional Radiance Caching

12

Incoming Radiance InterpolationInterpolate all collected radiance sample

◦Sums run over all radiance samples from all contributing L-trees.

Product of spatial and directional

weights

k-th radiance sample stored in

the i-th L-treeInterpolate

d incoming radiance

Si Tkj

dik

si

Si Tkikj

dik

si

j

i

i

ww

LwwL in

inin

inin

p

pp

,~

Page 13: Spatial Directional Radiance Caching

Outgoing Radiance ComputationEvaluate Monte Carlo Estimator

interpolated incoming radiance

# render

samples

Sampling probability ofoutin j

Estimated outgoing radiance

13

M

j j

jjj BRDFLM

L1 ,pdf

cos,,~1,~

outin

inoutinininoutout p

p

Page 14: Spatial Directional Radiance Caching

ResultsSHRC vs. SDRC

◦SHRC = Spherical harmonics caching◦SDRC = new Spatial-Directional caching

MC vs. SHRC vs. SDRC vs. REF◦MC = Monte Carlo importance sampling◦REF = reference solution

SDRC scalabilityAnimation

14

Page 15: Spatial Directional Radiance Caching

15

SHRC vs. SDRC

SDRC adapts to the BRDF lobe exponent automatically

Page 16: Spatial Directional Radiance Caching

16

MC vs. SHRC vs. SDRC vs. REF

SDRC produce less noise than MC SDRC produce no ringing artifacts as SHRC.

MC SDRC (new)

SHRC REF

Page 17: Spatial Directional Radiance Caching

17

SDRC scalabilityN=64 / t≈6.2s

N=128 / t≈13.0s N=256 / t≈23.6s

SDRC

MC

Rendering time is O(N).

indirect lighting compu-tation time of

the detail

Page 18: Spatial Directional Radiance Caching

18

AnimationWithout reusing cache

record

With reusing cache record- Flickering reduced

Side-by-side comparison

Page 19: Spatial Directional Radiance Caching

19

DiscussionInterpolation

◦MC performs better than SDRC for highly glossy materials

Supported materials◦Spatially varying ones without sudden

changes◦Availability of sampling procedure

Memory consumption◦≈ higher memory requirements than

SHRC (N = 512 and SH order of 10)

Page 20: Spatial Directional Radiance Caching

20

ConclusionIndirect lighting computation on glossy

surfacesPROS:

+Exploits spatial / directional coherence+No blurry / banding artifacts+Adapts automatically to the glossiness+Less noisy than MC

CONS−Higher memory requirements−Potentially difficult parallelization

Page 21: Spatial Directional Radiance Caching

21

Future WorkPrecise formalization of illumination

coherenceDecrease flickering in animation

Page 22: Spatial Directional Radiance Caching

22

AcknowledgementsChess pieces courtesy of T.

HachisukaRay tracing system - PBRT

Thank you for your attention

Page 23: Spatial Directional Radiance Caching

23

Cache Record Density Control