Efficient Sampling for Instant Radiosity
Indirect illumination is a very important component of realistic image synthesis. It captures subtle interreflection effects, such as color bleeding, that give us important clues about the scene. It is also the most computationally expensive part of the whole process. One of the method for computing global illumination is Instant Radiosity. It uses Monte Carlo integration and creates virtual light sources in the scene to substitute contribution from indirect light bounces. In scenes with high geometry and light complexity, the number of virtual lights required to avoid noticeable error can be too large to use each of them for each pixel, making some subsampling scheme necessary. This thesis extends the previous work on such schemes to accommodate dynamic scenes. It implements Importance Caching - a robust algorithm that combines spatial indirect illumination caching and importance sampling and provides means to capture small and sudden changes in illumination where other methods fail. It is further improved to exploit temporal coherence as well as spatial one in dynamic scenes by extending the rendering with cache updating step borrowed and customized from an algorithm called Instant Caching, where the cached information is verified with respect to the current state of the scene and updated appropriately. To evaluate this, we implemented a prototype rendering system that supports dynamic scenes. The results show how dynamic importance caching in complex scenes compares to naive virtual lights sampling and Instant Caching.