oliver klehm, mpi informatik hans-peter seidel, mpi informatik elmar eisemann, tu delft

29
Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft Prefiltered Single Scattering

Upload: elaine-garman

Post on 01-Apr-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

Oliver Klehm, MPI Informatik

Hans-Peter Seidel, MPI Informatik

Elmar Eisemann, TU Delft

Prefiltered Single Scattering

Page 2: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

2

Motivation

Photo by Frédo Durand

Page 3: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

Shadow Map

near

far

Page 4: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

Assumptions:• Single scattering

Page 5: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

Assumptions:• Single scattering• Homogeneous medium

Shadow Map

Page 6: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

Shadow Map

Page 7: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

How to do this efficiently?Naïve: O(w*h * d)w*h pixels, d integration steps

Shadow Map

Page 8: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

8

Link to Percentage Closer Filtering

Percentage Closer

Filtering

V(d,zS)

N

s 1

Light direction

Visibility function V

Page 9: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

9

Shadow Mapping

Light direction

Shadow Map

x

z(p)

d(x)

0

1

Visibility function V(d,z)

1

-1

0

-1 10

p

d(x')-z(p)

d(x')

z

Page 10: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

10

Convolution Shadow Maps

Approximate visibility function with truncated Fourier series

)(ts

V(d,z) a1 +a2 +..+a4 +..+a8 +..+a16

[Annen et al. 2007]

V(d,z)

Page 11: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

11

Convolution Shadow Maps Filtering

V(d,z ) =

1iV(d,z ) = ai(d) Bi(z )

N

s 1

N

s 1s s

Shadow Map

0

z

s (1+1+0+0+0)

d

N

s 1

Page 12: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

12

Convolution Shadow Maps Filtering

• Compute Bi(zs)

• Filter Bi

• Compute ai(d)

• Fetch filtered Bi , compute ai Bi

1iV(d,z ) = ai(d) Bi(z )

N

s 1

N

s 1s s

Shadow Map

Only depends on depths in SM

Filtering without knowledge ofshading point!

At shading timed

Page 13: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

13

Filtering for camera rays

Shadow Map

camera ray

d(constant for entire ray)

S = 1 N

Bi Maps

1iV(d,z ) = ai(d) Bi(z )

N

s 1

N

s 1s s

Filter Kernel

Page 14: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

14

Filtering for camera rays

Shadow Map

camera ray

Bi Maps

1iV(d,z ) = ai(d) Bi(z )

N

s 1

N

s 1s s

camera rayN?

Page 15: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

15

Prefix Sum-like Filtering

camera ray

camera ray

Bi Map

FilteredBi Map

∑∑

Page 16: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

16

Filtering for camera rays

1iV(d,zS) = ai(dS) Bi(zS)

N

s 1

N

s 1

Shadow Map

d2 d7 d11 d16 d21

Page 17: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

17

Rectified Shadow Map

Light direction

Page 18: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

18

Rectified Shadow Map

Light direction

Page 19: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

19

Rectified Shadow Map

Light direction

Page 20: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

20

Rectified Shadow Map

Light direction

Page 21: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

21

Rectified Shadow Map

Page 22: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

22

Wrap up

Page 23: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

23

Video

Page 24: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

24

Related Work

• Complexity:(w*h pixels, d*a shadow map, allowing for d marching-steps)

• Ray-marching: O(w*h * d)

• Tree-based structures on rectified shadow map• [Baran et al. 2010]

“A hierarchical volumetric shadow algorithm for single scattering”

• [Chen et al. 2011]

“Realtime volumetric shadows using 1d min-max mipmaps”

• Tree average: O(w*h * log d + a*d)

• Tree worst: O(w*h * d + a*d)

• Ours: O(w*h * C + C * a*d )(C basis functions)

O(w*h + a*d)

Page 25: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

25

Comparison

Page 26: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

26

Limitations

• Light dependent falloff functions• Local light sources

• Degenerated cases of perspective projection

• Ringing artifacts (similar to convolution shadow maps)

Page 27: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

27

Limitations

• Ringing artifacts (similar to convolution shadow maps)

Page 28: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

28

Nitty Gritty Details (in the paper)

• Not average visibility, but medium attenuation?• Add weights to filtering

• Other visibility linearization methods?• Exponential shadow maps

• Variance shadow maps

• Exponential variance shadow maps

• Fast prefix-sum-like filtering?

Page 29: Oliver Klehm, MPI Informatik Hans-Peter Seidel, MPI Informatik Elmar Eisemann, TU Delft

29

Conclusions

• Volumetric single scattering - constant time per pixel• Purely image-based, no scene dependence

• New light projection for rectified shadow map

• Fast, high-quality effects

2.2 ms 30 fps