Parallel Irradiance Caching on the GPU

Nathaniel L. Jones
Massachusetts Institute of Technology, Cambridge, Massachusetts, USA
Massachusetts Institute of Technology, 18.337/6.338 Parallel Computing Final Report, 2013


   title={Parallel Irradiance Caching on the GPU},

   author={Jones, Nathaniel},



Download Download (PDF)   View View   Source Source   Source codes Source codes




While ray tracing is highly parallelizable in concept, the Radiance suite of programs for architectural global illumination simulation was written for serial execution and makes use of certain heuristic techniques that are not easily performed in parallel environments. It uses irradiance caching to store and reuse the results of expensive indirect irradiation computations. The irradiance cache has unpredictable size, and Radiance alternately reads and adds to it during a simulation, making it unfriendly to parallelization. The irradiance caching method proposed in this paper uses the OptiX engine for GPU ray tracing. Irradiance records are stored in buffers in GPU memory which can as necessary be used to create a bounding volume hierarchy (BVH) of known irradiance values based on their valid ranges. Queries into the irradiance cache are performed by casting a short ray into the BVH. Because the CPU maintains a handle to the irradiance cache, it is possible to read irradiance records from a file prior to simulation and write them back afterward. Therefore, this proposed method maintains consistency with the expected use and output of Radiance while performing calculations at higher speeds.
No votes yet.
Please wait...

* * *

* * *

* * *

HGPU group © 2010-2022 hgpu.org

All rights belong to the respective authors

Contact us: