We present an algorithm for interactive high-quality global illumination for
occluded scenes. We adapt the Lightcuts framework to the interactive
setting, because it can efficiently handle complex illumination by
clustering light sources hierarchically and approximate illumination from
whole clusters, while scaling logarithmically with the number of lights. To
address the poor performance of the original algorithm in occluded areas
resulting from the too conservative visibility assumptions, we propose a
technique to check whole clusters for occlusion. Thus, completely occluded
clusters can be detected at higher levels of the hierarchy and handled
accordingly, which dramatically increases performance. To further exploit
coherence, direct and indirect illumination are stored separately into an
irradiance cache and interpolated for nearby points. This way, high-quality
global illumination can be progressively computed and displayed at a few
frames per second on a single machine.