In this diploma thesis we present an approach to global illumination of 3D space, regardless of camera position, with voxels. We present global illumination, explain a few methods that solve it and present common problems. We explain how it works and present our approach to the problem. With raytracing lights, we calculate direct illumination for voxels and then use voxels as lights to illuminate other voxels in subsequent bounces.
The main advantage of our approach is that we calculate global illumination for the whole scene regardless of camera position and without noise. Data is camera independent, which enables fast rerendering after moving the camera. We conducted tests on three scenes and compared our algorithm against three others.
In test cases, our approach required several hours to calculate initial illumination, in best case an hour and a half. After calculating initial illumination each subsequent camera render took only 20-25 seconds when moving the camera. Results of our algorithm deviated only 4.56% on average, from the reference image created with Path tracing algorithm.
The algorithm is most suited for visualization of static scenes from multiple camera angles, because times spend on calculating scene illumination is gained back in just a few renders.
|