t. ritschel t. grosch m. h. kim h.-p. seidel c. dachsbacher j. kautz presented by bo-yin yao
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 PresentationTRANSCRIPT
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
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 preprocessing2. VPL generation3. Point-based depth maps (ISMs)4. Pull-push to fill holes of ISMs5. 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[Rushmeier et 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
Virtual point light
VPL
VPL
VPL
Indirectlight
12
Instant Radiosity bottleneck
Virtual point light
1024 VPLs 100k 3D model 32x32 depth map ~300M transforms 100x overdraw
32
32
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! Li
ght
Norm
al
Posit
ion
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
ImperfectClassic ImperfectSmaller points
Less points
25
In dynamic scenes Deform the point distributions according to the
deformation of the corresponding trianglesFrame 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
Without pull-pushClassic
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
3D2D
Without pull-pushClassic With pull-push
30
Depth maps comparison
With pull-pushWithout pull-pushClassic
31
Depth maps comparison
With pull-pushWithout 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 + IndirectDirect 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
Using G-BufferIndirect only (origin)
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!