Radiance Cache Splatting: A GPU-Friendly Global ... · Radiance Cache Splatting: A GPU-Friendly...

1
Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm Pascal Gautron [email protected] IRISA * - UCF Jaroslav Kˇ riv´ anek [email protected] IRISA * - UCF - CTU Kadi Bouatouch [email protected] IRISA * Sumanta Pattanaik [email protected] UCF (a) Sibenik Cathedral (80K poly) (b) Sponza Atrium (66K poly) (c) Castle (58K poly) Figure 1: First bounce diffuse and glossy global illumination rendered at resolution 1000 × 1000 in less than 20s by our GPU-based renderer. Introduction Fast global illumination computation is a challenge in several fields such as lighting simulation and computer-generated visual effects for movies. To this end the irradiance caching algorithm is com- monly used since it provides high-quality renderings in a reasonable time. However this algorithm relies on a spatial data structure in which nearest-neighbors queries and data insertions are performed alternately within a single rendering step. Due to this central and permanently modified data structure, irradiance caching algorithm cannot be easily implemented on graphics hardware. We propose a novel approach to first bounce glossy global illumination using irradiance and radiance cache: the radiance cache splatting. This method directly meets the processing constraints of graphics hard- ware since it avoids the need of complex data structure traversal. Radiance Cache Splatting Our work is based on the irradiance and radiance (or (ir)radiance) caching algorithms [Ward et al. 1988; Kˇ riv´ anek et al. 2005b]. These approaches rely on sparse sampling and interpolation of indirect incoming radiance. For each sample location, an (ir)radiance record represents the sampled incoming radiance. Given a record, its value can be used to estimate the indirect incoming radiance at nearby points. Records are stored in the (ir)radiance cache. In order to generate an image, the classical (ir)radiance caching al- gorithm queries the spatial data structure of the (ir)radiance cache for each visible point to determine its indirect incoming radiance. We propose an image-plane method which uses the opposite ap- proach: for a given record, our algorithm determines which visible points it contributes to. This set of visible points is determined us- ing the weighting function and interpolation scheme proposed in [Ward et al. 1988]: a given record k located at p k can contribute to the incoming radiance at point p only if p - p k aR k . a repre- sents a user-defined accuracy value and R k is the harmonic mean distance to the objects visible from p k . Therefore, record k can only contribute to the indirect lighting of points within a sphere of influence I k centered at p k with radius aR k . For each record k, our * IRISA/INRIA, Rennes, France University of Central Florida, Orlando, FL, USA Czech Technical University, Prague, Czech Republic algorithm splats I k onto the image plane. For each pixel within the splat we accumulate the contribution of the record into the radi- ance splat buffer. When each record has been processed, the radi- ance splat buffer contains the indirect lighting of the visible points. Mixed with direct lighting, this method generates a fast, high qual- ity global illumination solution. Note that radiance cache splatting, unlike original radiance caching, does not rely on any spatial struc- ture. This approach has been efficiently implemented on graphics hard- ware. For a given record k, our algorithm splats I k on the image plane by drawing a quadrilateral tightly bounding the projection of I k on the image plane. Then, for each fragment within the quadri- lateral, the gradient-based methods defined in [Ward et al. 1988; riv´ anek et al. 2005a] are used to determine the contribution of the record to the incoming radiance of visible points. The accumulation is performed on the GPU using native floating-point blending capa- bilities. Since the record computation represents an important part of the rendering time, we also use the GPU to compute (ir)radiance records. Results and Conclusion In Figure 1, we show the results from an implementation of our ra- diance cache spatting algorithm. The comparison with the Radiance software shows that our GPU-based renderer drastically reduces the rendering time: the Sponza Atrium scene is rendered in 10min45s with Radiance, while our renderer generates an image with compa- rable quality in 13.7s, yielding a speedup of 47.1. Future work will focus on extending this work to multiple light bounces and animated scenes. We would also like to accelerate the rendering process to obtain high quality global illumination in real-time. References RIV ´ ANEK, J., GAUTRON, P., BOUATOUCH, K., AND PATTANAIK, S. 2005. Im- proved Radiance Gradients Computation. To appear in Proceedings of SCCG. RIV ´ ANEK, J., GAUTRON, P., PATTANAIK, S., AND BOUATOUCH, K. 2005. Radi- ance Caching for Efficient Global Illumination Computation. To appear in IEEE TVCG. WARD, G. J., RUBINSTEIN, F. M., AND CLEAR, R. D. 1988. A ray tracing solution for diffuse interreflection. In Proceedings of SIGGRAPH, 85–92.

Transcript of Radiance Cache Splatting: A GPU-Friendly Global ... · Radiance Cache Splatting: A GPU-Friendly...

Page 1: Radiance Cache Splatting: A GPU-Friendly Global ... · Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm Pascal Gautron pgautron@irisa.fr IRISA ∗- UCF † Jaroslav

Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm

Pascal [email protected]

IRISA ∗- UCF †

Jaroslav [email protected]

IRISA ∗ - UCF † - CTU ‡

Kadi [email protected]

IRISA ∗

Sumanta [email protected]

UCF †

(a) Sibenik Cathedral (80K poly) (b) Sponza Atrium (66K poly) (c) Castle (58K poly)

Figure 1: First bounce diffuse and glossy global illumination rendered at resolution 1000×1000 in less than 20s by our GPU-based renderer.

Introduction

Fast global illumination computation is a challenge in several fieldssuch as lighting simulation and computer-generated visual effectsfor movies. To this end the irradiance caching algorithm is com-monly used since it provides high-quality renderings in a reasonabletime. However this algorithm relies on a spatial data structure inwhich nearest-neighbors queries and data insertions are performedalternately within a single rendering step. Due to this central andpermanently modified data structure, irradiance caching algorithmcannot be easily implemented on graphics hardware. We proposea novel approach to first bounce glossy global illumination usingirradiance and radiance cache: the radiance cache splatting. Thismethod directly meets the processing constraints of graphics hard-ware since it avoids the need of complex data structure traversal.

Radiance Cache Splatting

Our work is based on the irradiance and radiance (or (ir)radiance)caching algorithms [Ward et al. 1988; Krivanek et al. 2005b]. Theseapproaches rely on sparse sampling and interpolation of indirectincoming radiance. For each sample location, an (ir)radiance recordrepresents the sampled incoming radiance. Given a record, its valuecan be used to estimate the indirect incoming radiance at nearbypoints. Records are stored in the (ir)radiance cache.In order to generate an image, the classical (ir)radiance caching al-gorithm queries the spatial data structure of the (ir)radiance cachefor each visible point to determine its indirect incoming radiance.We propose an image-plane method which uses the opposite ap-proach: for a given record, our algorithm determines which visiblepoints it contributes to. This set of visible points is determined us-ing the weighting function and interpolation scheme proposed in[Ward et al. 1988]: a given record k located at pk can contribute tothe incoming radiance at point p only if ‖p−pk‖ ≤ aRk. a repre-sents a user-defined accuracy value and Rk is the harmonic meandistance to the objects visible from pk. Therefore, record k canonly contribute to the indirect lighting of points within a sphere ofinfluence Ik centered at pk with radius aRk. For each record k, our

∗IRISA/INRIA, Rennes, France†University of Central Florida, Orlando, FL, USA‡Czech Technical University, Prague, Czech Republic

algorithm splats Ik onto the image plane. For each pixel within thesplat we accumulate the contribution of the record into the radi-ance splat buffer. When each record has been processed, the radi-ance splat buffer contains the indirect lighting of the visible points.Mixed with direct lighting, this method generates a fast, high qual-ity global illumination solution. Note that radiance cache splatting,unlike original radiance caching, does not rely on any spatial struc-ture.This approach has been efficiently implemented on graphics hard-ware. For a given record k, our algorithm splats Ik on the imageplane by drawing a quadrilateral tightly bounding the projection ofIk on the image plane. Then, for each fragment within the quadri-lateral, the gradient-based methods defined in [Ward et al. 1988;Krivanek et al. 2005a] are used to determine the contribution of therecord to the incoming radiance of visible points. The accumulationis performed on the GPU using native floating-point blending capa-bilities. Since the record computation represents an important partof the rendering time, we also use the GPU to compute (ir)radiancerecords.

Results and Conclusion

In Figure 1, we show the results from an implementation of our ra-diance cache spatting algorithm. The comparison with the Radiancesoftware shows that our GPU-based renderer drastically reduces therendering time: the Sponza Atrium scene is rendered in 10min45swith Radiance, while our renderer generates an image with compa-rable quality in 13.7s, yielding a speedup of 47.1.Future work will focus on extending this work to multiple lightbounces and animated scenes. We would also like to acceleratethe rendering process to obtain high quality global illumination inreal-time.

References

KRIVANEK, J., GAUTRON, P., BOUATOUCH, K., AND PATTANAIK, S. 2005. Im-proved Radiance Gradients Computation. To appear in Proceedings of SCCG.

KRIVANEK, J., GAUTRON, P., PATTANAIK, S., AND BOUATOUCH, K. 2005. Radi-ance Caching for Efficient Global Illumination Computation. To appear in IEEETVCG.

WARD, G. J., RUBINSTEIN, F. M., AND CLEAR, R. D. 1988. A ray tracing solutionfor diffuse interreflection. In Proceedings of SIGGRAPH, 85–92.