36
Many-light methods – Clamping & compensation Jaroslav Křivánek Charles University, Prague

Many-light methods – Clamping & compensation Jaroslav Křivánek Charles University, Prague

Embed Size (px)

Citation preview

Many-light methods – Clamping &

compensationJaroslav Křivánek

Charles University, Prague

• Approximate indirect illumination byVirtual Point Lights (VPLs)

1. Generate VPLs

2

Instant radiosity

2. Render with VPLs

3

Clamping

1000 VPLs - no clamping

missing energy

1000 VPLs - clamping reference (path tracing)

Clamping Compensation

Kollig & Keller, MCQMC 2004

• Clamping reduces variance but some energy is lost

• Find formula for the lost energy• Compute the lost energy by selective

path tracing

5

Idea

path tracing compensationfull solution clamping

6

Clamping

x

p )(

)(

)(

)(

contribVPL

o

xp

xp

xp

xp

V

G

BRDF

EDF

VPL power

VPL emission distribution(BRDF lobe at p – for a diffuse VPL can be folded into F)

Geometry term

wo

Visibility

min c,

• Clamping evaluates this equation

• Can be written as

7

Formal derivation

• Unbiased solution

8

What’s missing?

Path tracingcompensation of the clamped energy

VPLs w/ clamping

• Compensation faster than path tracing everything (many path terminated early)

9

Result

path tracing compensationfull solution clamping

10

Biased result with clamping

11

Unbiased result with compensation

Dealing with Glossy Transport

13

Ground truth 1,000 VPLs 100,000 VPLs

Instant radiosity with glossy surfaces

Effect of clamping

material change

VPLs w/ clamping

GI reference

artifacts

VPL

14

Virtual Spherical Lights

Hašan, Křivánek & Bala, SIGGRAPH Asia 2009

• Cosine-weighted BRDF lobe at the VPL location

Emission distribution of a VPL

16

Glossy

Diffuse

Glossy VPL emission: illumination spikes

Common solution: Only diffuse BRDF at light location

17

Remaining spikes

18

• Common solution: Clamp VPL contributions 19

Remaining spikes

x x

• VPL contribution = VPL power . BRDF(x) . cos(x) . 1 / || p – x ||2

spike!

p

As || p – x || → 0, VSL contribution → ∞

Instant radiosity: The practical version

20

Clamping and diffuse-only VPLs:Illumination is lost!

Comparison

21

Clamped VPLs: Illumination loss

Path tracing: Slow

Recall: Emission Distribution of a VPL

22

Spike!

What happens as #lights ?

23Spiky lights converge to a continuous function!

Idea: We want a “virtual area light”

24

Aggregate

incoming illuminati

on

Aggregate

outgoing illuminati

on “Virtual area light”

Problem: What if surface is not flat?

25

VPL to VSL

x

p

l

Non-zero radius (r)

Ω

Integration over

non-zero solid angle

26

Light Contribution

x

p

l

Non-zero radius (r)

Ω

Integration over

non-zero solid angle

y

27

Light Contribution

x

p

l

Non-zero radius (r)

Ω

Integration over

non-zero solid angle

y

Problem: Finding y

requires ray-tracing

28

Simplifying Assumptions

x

p

l

Non-zero radius (r)

Ω

Integration over

non-zero solid angle

y

• Constant in Ω: – Visibility– Surface normal– Light BRDF

• Taken from p, the light location

29

Light Contribution Updated

x

p

l

Non-zero radius (r)

Ω

Integration over

non-zero solid angle

30

Virtual Spherical Light

• All inputs taken from x and p– Local computation

• Same interface as any other light– Can be implemented in a GPU shader

• Visibility factored from the integration– Can use shadow maps

• Matrix row-column sampling– Shadow mapping for visibility– VSL integral evaluated in a GPU shader

• Need more lights than in diffuse scenes

31

Implementation

Results: Kitchen

• Most of the scene lit indirectly

• Many materials glossy and anisotropic

Clamped VPLs34 sec (GPU) – 2000 lights

New VSLs:4 min 4 sec (GPU) – 10000 lights

Path tracing:316 hours (8 cores)

32

Results: Disney concert hall

• Curved walls with no diffuse component

• Standard VPLs cannot capture any reflection from walls

Clamped VPLs: 22 sec (GPU) – 4000 lights

New VSLs: 1 min 26 sec (GPU) – 15000 lights

Path tracing: 30 hours (8 cores)

33

Results: Anisotropic tableau

• Difficult case• Standard VPLs

capture almost no indirect illumination

Clamped VPLs: 32 sec (GPU) – 1000 lights

New VSLs: 1 min 44 sec (GPU) – 5000 lights

Path tracing: 2.2 hours (8 cores)

34

Limitations: Blurring

• VSLs can blur illumination• Converges as number of lights

increases

5,000 lights - blurred

35

1,000,000 lights - converged

• Many-light methods do not deal well with glossy scenes– Artifacts or energy loss– Energy loss -> change of material

perception

• Handling glossy effects with many-lights– Virtual Spherical Lights– [Davidovič et al. 2010]

36

Conclusions