Abstract:
Real-time global illumination is the holy grail of the computer graphics field. Even with the current generation of graphics hardware, real-time global illumination is still a very challenging concept. This thesis investigates the applicability of the Graphics Processing Unit in calculating the radiosity of 3D scenes using computing frameworks. Support for dynamic environments in a radiosity technique is also investigated. A radiosity framework has been developed which combines techniques such as texture-based subdivision, hemicube rendering, and multiplier map in addition to the CUDA and OpenCL frameworks to calculate the radiosity of 3D scenes. The framework is used to investigate the effects of rendering parameters such as texture array dimensions and hemicube resolutions on the overall performance of the Graphics Processing Unit. The radiosity framework shows that the Graphics Processing Unit can perform calculations at a much faster rate than the Central Processing Unit. Increasing texture array dimensions increases the performance logarithmically while increasing the hemicube resolution reduces the performance linearly. One of the main contributions of this research is the implementation of a radiosity technique that supports dynamic environments in the forms of geometry and surface property modifications. The main advancement over existing techniques is that the support for dynamic environments is built-in as part of the radiosity calculations. Furthermore, the radiosity can be calculated while the modification is processed and no prior knowledge of the modifications is needed. The dataset and framework presented in this thesis can be used for further development and a foundation for integrating global illumination into interactive virtual environments such as computer games.