Towards Interactive Global Illumination Using OptiX and Virtual Point Light
Computing the global illumination of a scene is a very expensive computational task, especially when it comes to indirect illumination. To achieve faster results and given the nature of the problem (an embarrassingly parallel problem), the GPU is a key tool. To work on the GPU, the OptiX API from Nvidia is used since it offloads the computations through CUDA.
In order to improve the computational time, a technique called “Instant Radiosity” is applied. This technique takes advantage of Virtual Point Lights (VPL), that help computing the indirect illumination in a nonconventional way.
The method of Instant Radiosity can be optimized using clustering techniques such as K-means and QT-clustering. That would help to cluster the VPLs, granting the privilege to use less VPL hence reducing the computational time.
A toy scene, consisting of five parallelograms and two spheres, has been used in the development of the first version (link). We are now focused on improving the implementation using a more complex scene and taking advantage of CUDA Kernels to achieve a valid analytical result (link).