500 likes | 680 Views
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
E N D
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 • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
Main steps 1. Scene preprocessing 2. VPL generation 3. Point-based depth maps (ISMs) 4. Pull-push to fill holes of ISMs 5. Shading
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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]
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]
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]
Real-Time Global Illumination • Approximate visibility by ambient occlusion [Bunnell 2005] • Iterative process using antiradiance (negative light) [Dachsbacher et al. 2007]
Instant Radiosity Direct light VPL Indirect light VPL VPL Virtual point light
Instant Radiosity bottleneck 32 • 1024 VPLs • 100k 3D model • 32x32 depth map • ~300M transforms • 100x overdraw 32 Virtual point light
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
Direct light VPLs Direct lightVPLs! Light Normal Position
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
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
Point based depth maps (ISMs) • Non-uniform point distributions • Many low-resolution ISMs are stored in a single, large texture
ISM compared with classic shadow map Classic Imperfect Imperfect Smallerpoints Lesspoints
In dynamic scenes • Deform the point distributions according to the deformation of the corresponding triangles Frame t Frame t+1
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
Pull-push approach • Use a sparse set of points → holes in the depth map Classic Without pull-push
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
Depth maps comparison 3D 2D Classic Without pull-push With pull-push
Depth maps comparison Classic Without pull-push With pull-push
Depth maps comparison Without pull-push With pull-push
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
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
G-buffer applying Indirect only (origin) Using G-Buffer
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
Outlines • Introduction • Related work • Imperfect shadow maps • Scene preprocessing • VPL generation • Point based depth maps • Pull push • Shading • Results • Conclusion
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
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