Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cascaded Light Propagation Volumes for Indirect Illumination

Similar presentations


Presentation on theme: "Cascaded Light Propagation Volumes for Indirect Illumination"— Presentation transcript:

1 Cascaded Light Propagation Volumes for Indirect Illumination
Cascaded Light Propagation Volumes for Indirect Lighting ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 21 February, 2010, Washington, USA Cascaded Light Propagation Volumes for Indirect Illumination Anton Kaplanyan1 Carsten Dachsbacher2 1Crytek GmbH VISUS / University Stuttgart Good day! My name is Anton Kaplanyan. I’ll be talking today about the new real-time technique for diffuse indirect illumination called Cascaded Light Propagation Volumes. This technique is use in a successful commercial game engine.

2 Cascaded Light Propagation Volumes for Indirect Lighting
Motivation Indirect Occlusion Multiple bounces Completely dynamic (cameras, lights, scene) Real-time, suitable for game production Indirect lighting Glossy reflections Participating Media Computing many complex lighting phenomena for arbitrary dynamic scenes in real-time is still an illusive goal. With this technique is possible to do several new phenomena for real-time applications in a very small and constant time budget, such as: Single-bounce diffuse global illumination Indirect shadows, which is ignored in the majority of existing techniques Multiple bounces are possible with our approach Also some additional applications to the light propagation volumes: Indirect illumination of homogenous single-scattered participating media Local glossy reflections of indirect lighting The proposed approach is a battle-tested completely real-time solution for arbitrary dynamic scenes and lighting conditions. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

3 Cascaded Light Propagation Volumes for Indirect Lighting
Previous work Irradiance volumes Greger et al. 1997 SH Irradiance Volumes Tatarchuk 2004 Image-Space Photon Mapping McGuire and Luebke 2009 Multi-resolution Splatting Nichols and Wyman 2009 The elusive goal of real-time global illumination is produced a lot of previous work, and I want to briefly mention some of the most important publications. Irradiance volumes stores precomputed irradiance distribution in regular spatial 3D grid. SH Irradiance volumes is a real-time extension to Irradiance volumes with irradiance approximation by SH basis. Image-Space Photon Mapping accelerates final gathering step by photon splatting on GPU. Multi-Resolution Splatting accelerates rendering of many lights with adaptive hierarchical splatting. Precomputed Radiance Transfer computes radiance transfer function for each element of the static scene with baked visibility and approximates it with a SH basis. SH Exponentiation approximates scene by spherical geometry proxies and computes a summed radiance transfer function of them. PRT: Spherical Harmonics Sloan et al. 2004 Spherical proxies with SH Exponentiation Zhong et al. 2007 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

4 Previous work, continued
Cascaded Light Propagation Volumes for Indirect Lighting Previous work, continued Instant radiosity Keller 1997 VPL visibility Laine et al. 2007 Ritschel et al. 2008 In instant radiosity Keller represents diffusely reflected light as a set of virtual point lights. Visibility computation is the bottleneck in most many-lights-approaches. Laine et al. proposed a temporal reusing of Shadow Maps to amortize the visibility cost. Ritschel et al. proposed the Imperfect Shadow Maps, where shadow maps are generated with incomplete stochastic sampling and accomplished by the push-pull algorithm. In the Light-cuts algorithm, Walter et al. used a hierarchy of point lights to evaluate many lights in sub-linear time. Many-lights approach Walter et al. 2005 Hasan et al. 2007 Chevlak-Postavak et al. 2008 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

5 Previous work, continued
Cascaded Light Propagation Volumes for Indirect Lighting Previous work, continued Disk-based Color Bleeding Bunell 2005 Christensen 2008 Finite Element: Antiradiance Dachsbacher et al. 2007 Microrendering Ritschel et al. 2010 All techniques above have one or more of the following limitations: Precomputed or redundant data (problems with dynamic and/or editable scenes) Not suitable for game production performance-wise Most of dynamic techniques are without indirect visibility The GPU method of Bunnell computes color bleeding using approximate geometry, but ignores visibility. Christensen adds visibility to this approach in a sequential CPU method. Antiradiance by Dachsbacher et al. reformulates rendering equation with negative radiance and iteratively propagate anti-radiance. Microrendering by Ritschel et al. is an acceleration of final gathering step by adaptive scene point sampling with respect to BDRF. So what’s the motivation for another new technique for global illumination? Most of the techniques are either precomputed or have some auxiliary information, which complicates the game production. Most of dynamic techniques are too slow for games, where the budget for GI is around 3-4 ms/frame. Also Most of them don’t take indirect visibility into account. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

6 Previous work, lattice methods
Cascaded Light Propagation Volumes for Indirect Lighting Previous work, lattice methods Light Propagation Maps Fattal 2009 Lattice-Boltzmann Lighting Geist et al. 2004 Lattice Discrete Ordinate methods are used for radiance propagation for participating media illumination. Our technique is based on lattice DOM methods. Thus I’d like to mention some previous work on that: Light propagation maps is a method for directional subsurface scattering simulation in scattering media. Lattice-Bolzman Lighting is a simulation of multiple scattering in participating media with Lattice-Bolzman method Lattice-Based Volumetric Global Illumination is a simulation of global illumination in participating media with DOM method on the improved hexagon lattice Lattice-Based Volumetric Global Illumination Qiu et al. 2007 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

7 Cascaded Light Propagation Volumes for Indirect Lighting
Basic idea Consider the primary light source emanating light rays. Assuming the whole scene consists of only diffuse surfaces. Each ray excites a secondary emission of bounced radiance along a visible hemisphere of every lit surface element. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

8 Cascaded Light Propagation Volumes for Indirect Lighting
Basic idea We introduce a regular 3D grid. Approximate the bounced radiance by binning it into this grid. Accumulate all the bounced results inside of each cell into that cell. Thus we have an initial accumulated indirect radiance distribution. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

9 Cascaded Light Propagation Volumes for Indirect Lighting
Basic idea After we’ve got the initial reflected light distribution in the grid, we propagate the radiance iteratively around the 3D grid until the light passes the entire grid. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

10 Cascaded Light Propagation Volumes for Indirect Lighting
Propagation demo 8 iterations after injection 6 iterations after injection 4 iterations after injection 0 iterations, only injection Here is a sequence demonstrating the propagation results for different number of iterations for light propagation stage. It’s a Cornell-box-like room with the blue right wall, red floor, green left wall (which is in shadow) and grey back wall. The grid is very coarse to emphasize the contribution of each subsequent iteration.

11 Cascaded Light Propagation Volumes for Indirect Lighting
Overview Sample lit surface elements Grid initialization Light propagation in the grid Scene illumination with the grid Here is the diagram with brief stages of our technique. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

12 Light Propagation Volumes
Cascaded Light Propagation Volumes for Indirect Lighting Light Propagation Volumes Use many-lights approach to capture sources of indirect lighting Sample directly lit surfaces and initialize 3D grid Represent directional distribution with Spherical Harmonics Inspired by SH Irradiance Volumes [Tatarchuk04] Iterative, local propagation: cell-to-cell Major behind light propagation volumes: - We use a many-lights approach for approximation of reflected light. We use a regular 3D grid to approximate lighting in 3D world space Use sampled lit surfaces to initialize the 3D grid with the initial lighting distribution - We use a few bands of SH basis to approximate lighting in angular space - The iterative light propagation approach lowers down the rendering complexity of many secondary lights. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

13 Secondary Light Sources
Cascaded Light Propagation Volumes for Indirect Lighting Secondary Light Sources Sample lit surface elements Grid initialization Light propagation in the grid Scene illumination with the grid Now I’ll talk about the way how we sample reflecting surfaces in the scene. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

14 Secondary Light Sources
Cascaded Light Propagation Volumes for Indirect Lighting Secondary Light Sources Reflective shadow maps Depth Flux Normal We use Reflective Shadow Maps to generate many secondary light sources. Reflective Shadow Maps are an extension of shadow maps and store not only depth, but also normal and reflected flux of the surface seen from the light source. This is a very fast method to sample lit surfaces of the scene on GPU. All pixels of such a shadow map can bee seen as indirect light sources that generate the one-bounce indirect illumination in a scene. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

15 Cascaded Light Propagation Volumes for Indirect Lighting
Injection Sample lit surface elements Grid initialization Light propagation in the grid Scene illumination with the grid ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

16 Cascaded Light Propagation Volumes for Indirect Lighting
Pipeline ? Reflective shadow maps Radiance volume gathering VPL VPL VPL The basic steps of our algorithm are as follows: 1. Render Reflective Shadow Map 2. Inject each point of this RSM into a 3D grid as a Secondary Light Source. A set of regularly sampled VPLs of the scene from light position Discretize initial VPL distribution by the regular grid and SH ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

17 Light injection into the volume
Cascaded Light Propagation Volumes for Indirect Lighting Light injection into the volume Every element of Reflective Shadow Map is a secondary lights Render as a point primitive into 3D grid Represent flux in Spherical Harmonics Accumulate all VPLs into the grid The 3D grid is initialized with initial reflected light in the end n The Reflective Shadow Map is an input data for this stage. We treat it as a set of virtual point lights (VPLs). We use point rendering to position each VPL of the RSM into the 3D grid. Generate clamped cosine lobe of radiant intensity distribution in SH out of orientation and colored intensity of each texel of RSM. We use additive blending to efficiently accumulate contribution of all VLPs from RSM in parallel on GPU. Thus we’ve got a 3D grid initialized by the initial distribution of reflected light in the end of this process. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

18 Light Propagation Sample lit surface elements Grid initialization Light propagation in the grid Scene illumination with the grid ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

19 Cascaded Light Propagation Volumes for Indirect Lighting
Pipeline Reflective shadow maps Radiance volume gathering Iterative propagation Propagate light iteratively going from one cell to another VPL VPL VPL After we‘ve got an approximation of outgoing indirect lighting in each cell of our 3D grid, we can apply an iterative process of energy propagation across the grid. A set of regularly sampled VPLs of the scene from light position Discretize initial VPL distribution by the regular grid and SH ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

20 Iterative Light Propagation
Cascaded Light Propagation Volumes for Indirect Lighting Iterative Light Propagation Local cell-to-cell propagation across the 3D grid Iterate till the light travels through the entire volume Similar to SH Discrete Ordinate Method (used for participating media illumination) Number of iterations depend on the resolution of the grid Use local iterative cell-to-cell propagation operator to propagate lighting across the grid. Many variations of this method are widely used in computations of the scattering process in participating media. Number of iterations depend on the resolution of the grid. Similar to Geist et al. we use the two times the longest side of the LPV steps as a heuristic for the scheme. In the subsequent slides, we consider only a single propagation iteration from one source to one destination cell. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

21 The propagation iteration
Cascaded Light Propagation Volumes for Indirect Lighting The propagation iteration 6 axial directions of propagation Use contour faces as a propagation wave front Integrate source intensity by the solid angle to get incoming flux for the face f For each iteration of the propagation we consider 6 axial directions (depicted with 4 on the top right figure in 2D). We use contour faces as a propagation wave front (the contour depicted in yellow on the top right figure). We compute an incident flux onto the face f depicted on the right bottom figure. For that reason we integrate the intensity distribution of the source left cell from the previous iteration by the visible solid angle of face f looking from the center of the source cell. After we acquire the flux amount going through the face f from the source cell, we do a reprojection of this value onto a destination right cell.

22 The propagation iteration
Cascaded Light Propagation Volumes for Indirect Lighting The propagation iteration Use more than 6 directions Only 6 direct neighbors Compute light propagation to each face of neighbors’ cells 30 virtual directions SHDOM: 27 neighbor cells = 27 directions good trade-off of memory bandwidth vs “ray effect” “Ray effect” - light propagates in a set of fictitious directions We use only 6 adjacent axial cells for the propagation iteration. However we compute the light propagation to each wave-front face of each destination cell. Thus we achieve 30 unique virtual propagation directions. The obvious advantage is that we use much less input data. SHDOM method has in contrast 27 directions by sampling 27 adjacent cells. So it is a good trade-off between memory bandwidth and typical ray effect produced by this class of methods. The “ray effect” is when light propagates in a set of fictitious directions, because of small set of directions as shown on the right bottom figure. 4 directions of propagation 8 directions of propagation

23 Cascaded Light Propagation Volumes for Indirect Lighting
Reprojection Acquire the incident flux through the receiving face Create a new point light in the center of receiving cell Oriented towards the face Causing exactly the same flux as the face received Generate clamped cosine lobe in SH basis similar to injection stage Accumulate the resulting SH coefficients into the destination cell for next iteration After we computed the incoming flux for some particular face of some destination cell, we do a reprojection. It consists of the following steps: Firstly we create a point light in the center of the destination cell. This light is oriented towards the face and has an intensity which corresponds exactly to the amount of flux produced by the face. Using that reformulation we generate clamped cosine lobe as we do it for injection stage. We accumulate the resulting contribution of the face into the SH coefficients of the destination cell for the next iteration.

24 Scene rendering Sample lit surface elements Grid initialization Light propagation in the grid Scene illumination with the grid ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

25 Cascaded Light Propagation Volumes for Indirect Lighting
Rendering Look-up grid with trilinear interpolation Evaluate the irradiance with cosine lobe of surface’s normal Apply dampening factor Compute directional derivative towards normal Dampen based on derivative deviation from the intensity distribution direction During the final rendering of the scene, we illuminate it by looking up the grid texture with trilinear 3D interpolation of SH coefficients. Then evaluate the irradiance by convolving the obtained radiant distribution with the cosine lobe of the surface’s normal. This can be done both in forward rendering and in deferred rendering. Also it works well with alpha-transparent objects. To avoid unwanted light bleeding through thin objects, we apply a dampening factor in a following way: - Firstly we do another look-up towards the direction of the surface’s normal and compute a directional derivative by a finite difference. - Then we dampen the obtained irradiance based on the deviation of the derivative from the direction of intensity distribution itself. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

26 Results of indirect illumination
Cascaded Light Propagation Volumes for Indirect Lighting Results of indirect illumination This scene depicts the screenshot from a real game level from the released project Crysis. Notice the indirect lighting coming from the foliage along the fence. That demonstrates the advantage of our technique in case of arbitrary geometry which foliage is one of the worst case of. This is possible because of an excessive VLPs sampling from a large RSM (256^2) with a fast injection stage.

27 Cascaded Light Propagation Volumes
Cascaded Light Propagation Volumes for Indirect Lighting Cascaded Light Propagation Volumes Motivation: memory and bandwidth cost is o(N^3) for increase of LPV grid Impossible to support large scenes Idea: use multiple nested grids to refine resolution hierarchically Do not consider small objects for large sparse grids Transfer propagated lighting from nested grid to the parent grid Illuminate scene similarly to cascaded shadow maps Reduces the number of iterations sufficient per cascade Now I’d like to talk about the extension to the LPV: cascaded LPV. The motivation is we cannot stretch a dense volume onto the whole scene, because of memory and performance reasons. So the solution would be to use multiple hierarchically nested LPV grids to refine resolution near the viewer position. Though we do not consider small reflecting objects for further and more coarse cascades to avoid any sort of flickering. This technique also allows to reduce the number of iterations per cascade down to 8 for 32^3 grid. This is due to hierarchical propagation of large secondary reflectors. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

28 Cascaded Indirect Illumination
Cascaded Light Propagation Volumes for Indirect Lighting Cascaded Indirect Illumination 1 cascade 3 cascades This is the demonstrative images of the cascaded approach. So you can see much more fine-grained details on the right bottom image where 3 cascades are used. You can even see the yellow reflected color on the column which is coming from the stripe of the red cloth. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

29 Fuzzy Secondary Occlusion
Cascaded Light Propagation Volumes for Indirect Lighting Fuzzy Secondary Occlusion Introduce a “fuzzy blocking” between cells Use another grid for blocking Occlusion is view-dependent Projected size of an occluder is a cosine lobe blocker Now we will extend this technique to acquire a secondary occlusion for indirect illumination. We introduce a “fuzzy blocking” term, which is an approximated occlusion distribution between any two adjacent cells of the LPV. Use another grid of the same resolution as LPV to represent the occlusion distribution. This grid is shifted by half-cell in all direction so the cell centers of this grid lay exactly on the cell corners of the LPV. Since occlusion area is view dependent we could represent it as a function of the view direction, as shown on the top right picture. This function represents a cosine lobe for a simple occlusion element (right bottom figure). ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

30 Fuzzy Secondary Occlusion
Cascaded Light Propagation Volumes for Indirect Lighting Fuzzy Secondary Occlusion Scene Light view Represent it as SH Store into occlusion grid Sample surfaces using rasterization Possibly multiple views Very similar to light injection Interpolate blocking linearly in between cells Camera view We approximate this occlusion distribution function by SH basis as well. Accumulate contributions of all such functions of all corresponding occluders into the occlusion grid mentioned on the previous slide. We use rasterization to obtain the occlusion surface elements from the scene. We reuse multiple depth + normal buffers: from light position and from viewer position (as depicted on the top right figure). The occlusion accumulation process is very similar to the light injection process mentioned before. Since the cells of the occlusion grid are on the corners of the LPV, we need to retrieve the occlusion distribution in between of the source occlusion cells for propagation occlusion. We use bilinear interpolation of SH coefficient for that. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

31 Fuzzy Secondary Occlusion
Cascaded Light Propagation Volumes for Indirect Lighting Fuzzy Secondary Occlusion W/o secondary occlusion With secondary occlusion Here are the results of indirect illumination with secondary occlusion. You can see the sofa and the subwoofer on the floor. The indirect light comes from the red brick wall behind these objects. There is a noticeable lack of indirect occlusion caused by sofa and subwoofer on the top left picture. And the results of secondary occlusion on the right bottom one. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

32 Cascaded Light Propagation Volumes for Indirect Lighting
Multiple Bounces Idea: use information from occlusion grid to compute multiple indirect reflections Reflect light during each propagation iteration Avoid self-illumination by injecting reflected light at safety-distance Now we will go a bit further and extend the technique to the multiple bounces using LPVs. The idea is to use information from the occlusion grid to compute multiple indirect reflections. So during each propagation iteration we reflect light by using the information from the occlusion distribution at the receiving face (as shown on the top figure). We put the reflected amount of light into the source cell, which means that we introduce a safety-distance for reflected light to avoid a self-illumination. The result of multiple bounces is depicted on the bottom image. Notice double-bouncing of indirect light from the white box. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

33 Cascaded Light Propagation Volumes for Indirect Lighting
Glossy Reflections Idea: Compute incident light from reflection direction by marching through LPV grid Go few steps back in propagation time to reduce light smearing 4 cells is sufficient for moderately glossy objects Lookups into multiple cells prevent discontinuities in glossy reflections So here is another application for the LPVs: a possibility to render a glossy surfaces with reflections of indirect lighting. The idea behind this is to compute the incident light along the reflected ray by marching through the LPV in the reflected direction. This can be interpreted as going several steps back in the propagation time. By this step we significantly reduce light smearing introduced during propagation process. It’s provided that marching by only 4 cells is already sufficient for most of moderately glossy surfaces. Multiple lookups into adjacent cells prevent discontinuities in the appearance of the reflected light. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

34 Indirect lighting in isotropic participating media
Cascaded Light Propagation Volumes for Indirect Lighting Indirect lighting in isotropic participating media Ray march through the LPV Accumulate inscattered light Limited to single-scattering Step through the whole grid along view direction Back to front accumulation Another application of LPVs is an indirect illumination of homogenous participating media with single-scattering effect. The idea behind that is a straightforward ray marching through the LPV. We accumulate the inscattered results by traversing the LPV in the viewer space back to front. The step size is proportional to the cell size of the grid. Non-homogeneous media handled with a volume texture for spatially-varying scattering coefficients. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

35 Timings (Crytek Sponza)
Cascaded Light Propagation Volumes for Indirect Lighting Timings (Crytek Sponza) Stage GTX 285, ms Xbox 360, ms PS 3, ms RSM Rendering 0.16 (256^2) 0.5 (128^2) 0.8 (128^2) VPL Injection 0.05 0.2 0.4 Occlusion Injection 0.02 0.15 Propagation 0.8/1.1/1.4 0.8/1.1/1.5 0.7/1.1/1.4 LPV look-up 2.4 2.0 1.5 Total 3.4/3.7/4.0 3.5/3.8/4.2 3.4/3.8/4.2 Depends on scene complexity Depends on image size (1280x720) 8 iterations 32^3 grid size Detailed timings for the Crytek Sponza scene (see previous slide) in milliseconds for the individual stages 32^3 LPV grid and 8 iterations The three timings for the propagation step refer to: no occlusion/fuzzy occlusion/fuzzy occlusion and multiple bounces. Note that only the cost of the RSM rendering depends on the scene complexity. All measurements at 1280x720 resolution (no MSAA), and RSM size of 256^2 (=number of injected VPLs) for NVIDIA GTX285 and 128^2 for consoles ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

36 Cascaded Light Propagation Volumes for Indirect Lighting
Results Reference, 42 min LPV, 78 Reference PBRT, 45 min LPV, 60 Here is the comparison to the “ground truth” off-line rendering. Reference solutions are on the left and rendered with MentalRay and PBRT top down respectively. The results of our method with 3 cascades are on the right. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

37 Limitations of the method
Cascaded Light Propagation Volumes for Indirect Lighting Limitations of the method Only diffuse inter-reflections Sparse spatial and low-frequency angular approximations Light diffusion: light transport smears in all directions Spatial discretization: visible for occlusion and very coarse grids Incomplete information for secondary occlusion This method has several obvious limitations. 1. It takes only diffuse inter-reflections into account. 2. Also the spatial and angular approximations are the sources of error: - The light smearing happen during the light propagation process because of low-frequency angular approximation in each cell of the LPV. - Another error comes from spatial discretization and mostly noticeable with sparse grids as shown on the right bottom picture. 3. And the information about the indirect occluders is incomplete in our approach as we use only two views to sample all the potential occluders, which might be not sufficient for some cases. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

38 Cascaded Light Propagation Volumes for Indirect Lighting
Conclusion Full-dynamic: scene, view, lighting changes Real-time: GPU- and consoles- friendly Production-eligible (simple tweaking) Highly scalable proportionally to quality Stable, flicker-free Supports complex geometry (e.g. foliage) As a conclusion I’d like to say that the presented method is… ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

39 Cascaded Light Propagation Volumes for Indirect Lighting
Video Now I’d like to show a short video. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

40 Thank you for your attention
Cascaded Light Propagation Volumes for Indirect Lighting See the paper for more details We’d like to thank: Crytek and especially the CEO Cevat Yerli for giving us an opportunity to make this research The whole Crytek R&D department and artists for help provided Many people across the industry and research community for interesting discussions and provided feedbacks Thank you for your attention and see the paper for more results Thank you for your attention ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

41 Backup slide: Small details
Stability of the solution RSM one-texel snapping One-cell snapping for LPVs Temporal SSAA with reprojection for RSM injection Self-illumination and light bleeding Half-cell VPL shifting to normal direction during RSM injection Directional derivative in normal direction to compute a dampening factor ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

42 Backup slide: Console optimizations
For both consoles Store everything in signed QUVW8 format, [-1;1] with scaling factor Use h/w 3D textures and trilinear filtering Xbox 360 Unwrap RT vertically to avoid bank conflicts during injection Use API bug work-around to resolve into a 3D slice PlayStation 3 Use memory aliasing for render into 3D texture Use 2x MSAA aliasing to reduce pixel work twice ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

43 Backup slide: Console optimizations II
Render Reflective Shadow Map Usually 128 x 128 is ok Inject each pixel into unwrapped LPV with a swarm of points 16384 points in one DIP Use vertex texture fetch on X360 Use R2VB on PlayStation 3 Multi-layered unwrapping to avoid bank conflicts during RSM injection on Xbox 360 All together: 3,0 ms on X360/PS3

44 Backup slide: Massive Lighting
Render sliced unwrapped light box into LPV (spatial overdraw vs screen-space, maximum 1024x32 pixels) Convert light’s radiant intensity into SH Shadows are not supported Light in the Light Propagation Volume Coverage in unwrapped render target


Download ppt "Cascaded Light Propagation Volumes for Indirect Illumination"

Similar presentations


Ads by Google