1 / 50

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

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

gisela
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Yao 2010.3.25

  2. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  3. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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

  5. Main steps 1. Scene preprocessing 2. VPL generation 3. Point-based depth maps (ISMs) 4. Pull-push to fill holes of ISMs 5. Shading

  6. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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]

  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 [Rushmeieret al. 1993; Christensen et al. 2003; Tabellion and Lamorlette 2004]

  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]

  10. Real-Time Global Illumination • Approximate visibility by ambient occlusion [Bunnell 2005] • Iterative process using antiradiance (negative light) [Dachsbacher et al. 2007]

  11. Instant Radiosity Direct light VPL Indirect light VPL VPL Virtual point light

  12. Instant Radiosity bottleneck 32 • 1024 VPLs • 100k 3D model • 32x32 depth map • ~300M transforms • 100x overdraw 32 Virtual point light

  13. Reflective Shadow Maps

  14. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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

  16. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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

  18. Direct light VPLs Direct lightVPLs! Light Normal Position

  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

  20. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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

  22. Point based depth maps (ISMs) • Non-uniform point distributions • Many low-resolution ISMs are stored in a single, large texture

  23. Point based depth maps (ISMs)

  24. ISM compared with classic shadow map Classic Imperfect Imperfect Smallerpoints Lesspoints

  25. In dynamic scenes • Deform the point distributions according to the deformation of the corresponding triangles Frame t Frame t+1

  26. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  27. Pull-push approach • Use a sparse set of points → holes in the depth map Classic Without pull-push

  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

  29. Depth maps comparison 3D 2D Classic Without pull-push With pull-push

  30. Depth maps comparison Classic Without pull-push With pull-push

  31. Depth maps comparison Without pull-push With pull-push

  32. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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 + Indirect Direct only Indirect only

  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

  35. G-buffer applying Indirect only (origin) Using G-Buffer

  36. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  37. Improvement with pull-push

  38. With geometrically complex scenes

  39. Multiple bounces

  40. With BRDF changing

  41. With area lights

  42. With environment maps

  43. Error comparison with different parameters

  44. Performance comparison

  45. Performance comparison

  46. Demo video

  47. Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion

  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

  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

  50. Thanks For Your Participation!

More Related