t. ritschel t. grosch m. h. kim h.-p. seidel c. dachsbacher j. kautz presented by bo-yin yao

50
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel C. Dachsbacher J. Kautz Presented by Bo-Yin Yao 2010.3.25 1

Upload: gisela

Post on 23-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination. T. Ritschel T. Grosch M. H. Kim H.-P. Seidel C. Dachsbacher J. Kautz Presented by Bo-Yin Yao 2010.3.25. Outlines. Introduction Related work Imperfect shadow maps - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

1

Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination

T. Ritschel T. Grosch M. H. Kim

H.-P. Seidel C. Dachsbacher

J. Kautz

Presented by Bo-Yin Yao2010.3.25

Page 2: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

2

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 3: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

3

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 4: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

4

Introduction Interactive compute the indirect illumination in large

and fully dynamic scenes

Approximate visibility for indirect illumination with imperfect shadow maps (ISMs) Low-resolution Rendered from crude point-based representation of the

scene

Use ISMs with a global illumination algorithm based on virtual point lights (VPLs) – instant-radiosity

Page 5: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

5

Main steps

1. Scene preprocessing2. VPL generation3. Point-based depth maps (ISMs)4. Pull-push to fill holes of ISMs5. Shading

Page 6: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

6

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 7: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

7

Global Illumination Methods Use accurate visibility

By intersecting rays with the scene geometry Path tracing Photon mapping Ray-tracing

Through shadow volumes / maps or ray-casting (Based on VPLs) Instant radiosity

[Keller 1997] Instant global illumination

[Wald et al. 2002]

Page 8: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

8

Global Illumination Methods Use visibility approximations

Lightcuts method [Walter et al. 2005]

Incident lighting from nearby geometry is integrated without computing visibility[Arikan et al. 2005]

Reduce the geometric complexity[Rushmeier et al. 1993; Christensen et al. 2003; Tabellion and Lamorlette 2004]

Page 9: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

9

Real-Time Global Illumination Precomputed radiance transfer (PRT)

Only support lighting changes, restricted to static scene[Sloan et al. 2002]

Only allow movement of rigid objects [Iwasaki et al. 2007; Wang et al. 2007]

Neglect the visibility for indirect illumination, allow dynamic models[Dachsbacher and Stamminger 2005; Dachsbacher and Stamminger 2006]

Page 10: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

10

Real-Time Global Illumination Approximate visibility by ambient occlusion

[Bunnell 2005]

Iterative process using antiradiance (negative light)[Dachsbacher et al. 2007]

Page 11: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

11

Instant Radiosity

Direct light

Virtual point light

VPL

VPL

VPL

Indirectlight

Page 12: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

12

Instant Radiosity bottleneck

Virtual point light

1024 VPLs 100k 3D model 32x32 depth map ~300M transforms 100x overdraw

32

32

Page 13: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

13

Reflective Shadow Maps

Page 14: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

14

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 15: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

15

Point-based representation of the scene Approximate the 3D scene by a set of points

Each point is created by randomly selecting a triangle with probability proportional to its area, and then pick a random location on it

Also store the barycentric coordinate To support dynamic scenes without recomputing the

point representation To retrieve the normal and reflectance

Page 16: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

16

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 17: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

17

Direct light VPLs The 3D position of each VPL is determined by

rendering a cube map from the viewpoint of the direct point light source

Select Nvpl VPLs by importance sampling

Page 18: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

18

Direct light VPLs

Direct lightVPLs! Li

ght

Norm

al

Posit

ion

Page 19: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

19

Indirect light VPLs (for multiple bounces) Generalize ISMs to imperfect reflective shadow

maps (IRSMs) Instead of rendering the shaded geometry, render

shaded points into the IRSMs Each paraboloid map stores its own indirect illumination

(instead of depth values) Use importance sampling to generate the second

bounce VPLs

Page 20: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

20

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 21: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

21

Point based depth maps (ISMs) ISM is created by splatting the point representation

into the depth buffer Box splatting kernel Point splat size is base on its squared distance to the

VPL position

Use parabolic maps Oriented along the normal of the surface VPLs emit light over a hemisphere → need to cover a full hemisphere of depth information

Page 22: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

22

Point based depth maps (ISMs) Non-uniform point distributions

Many low-resolution ISMs are stored in a single, large texture

Page 23: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

23

Point based depth maps (ISMs)

Page 24: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

24

ISM compared with classic shadow map

ImperfectClassic ImperfectSmaller points

Less points

Page 25: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

25

In dynamic scenes Deform the point distributions according to the

deformation of the corresponding trianglesFrame t Frame t+1

Page 26: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

26

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 27: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

27

Pull-push approach Use a sparse set of points → holes in the depth map

Without pull-pushClassic

Page 28: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

28

Pull-push approach Pull phase

Create an image pyramid where the image is downsampled by a factor of two (mipmap)

Only valid pixels are used for averaging the pixels in the coarser level

Only combine depth values that are close to each other

Push phase Fill the holes top-down by interpolating the pixels from

the coarser level Only replace depth values that are far from the coarse

depth values pushed down

Page 29: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

29

Depth maps comparison

3D2D

Without pull-pushClassic With pull-push

Page 30: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

30

Depth maps comparison

With pull-pushWithout pull-pushClassic

Page 31: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

31

Depth maps comparison

With pull-pushWithout pull-push

Page 32: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

32

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 33: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

33

Direct and indirect illumination with ISMs Separate direct and indirect, both use deferred

shading Sum up the contribution of all VPLs Take into account shadowing

Direct + IndirectDirect only Indirect only

Page 34: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

34

G-buffer applying Reduce the rendering cost → use G-buffer to gather from VPLs (indirect illumination)

Interleaved sampling With geometry aware blur

Simple blur Edge-ware

Page 35: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

35

G-buffer applying

Using G-BufferIndirect only (origin)

Page 36: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

36

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 37: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

37

Improvement with pull-push

Page 38: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

38

With geometrically complex scenes

Page 39: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

39

Multiple bounces

Page 40: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

40

With BRDF changing

Page 41: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

41

With area lights

Page 42: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

42

With environment maps

Page 43: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

43

Error comparison with different parameters

Page 44: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

44

Performance comparison

Page 45: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

45

Performance comparison

Page 46: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

46

Demo video

Page 47: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

47

Outlines Introduction Related work Imperfect shadow maps

Scene preprocessing VPL generation Point based depth maps Pull push Shading

Results Conclusion

Page 48: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

48

Advantage Interactive (real-time?) global illumination in large

and fully dynamic scenes allowing for light, geometry, and material changes

Sacrifice a little accuracy to gain a significant performance enhancing

Can be used for direct illumination in certain cases, such as textured area lights or environment map illumination

Page 49: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

49

Disadvantage Indirect illumination is restricted to point and spotlight

illumination (with using reflective shadow maps to generate VPLs)

Low-resolution ISMs cannot resolve indirect shadows from small geometry

Without sufficient number of VPLs and point samples Temporal flickering Light leaking due to shadow biasing

Not fully automatic – parameters need to be chosen by the user

Page 50: T. Ritschel  T. Grosch  M. H. Kim  H.-P. Seidel  C. Dachsbacher  J. Kautz Presented by Bo-Yin Yao

50

Thanks For Your Participation!