Efficient complex shadows from environment maps

Complex illumination adds realism to computer-generated scenes. We focus on realistic lighting from environment maps, as described in [Debevec 1998]. Correct shadowing requires solving for the visibility of each pixel with respect to each light direction. This is extremely expensive, since the illumination can come from any direction in the environment map. We leverage recent sampling methods like [Agarwal et al. 2003], which reduce the environment to a few hundred directional lights. Shadow testing for all sources at each pixel is still the bottleneck in a conventional ray-tracer or other renderer. We show that the visibility function can be efficiently calculated by exploiting coherence in both the angular and spatial dimensions. Existing work, such as [Guo 1998] and [Hart et al. 1999], makes use of coherence for scenes illuminated by point or area lights. Most of these techniques find discontinuities in imagespace, and share visibility within regions bounded by discontinuities, thus reducing the number of primary rays needed. Such methods are difficult to use for sampling environment map illumination because hard discontinuities are not discernible in the image. Our work can be seen as an extension of [Agrawla et al. 2000], who exploited coherence in the visibility of an area light source to reduce the number of shadow rays cast. We present a simple method for efficient coherence-based evaluation of visibility for environment maps. We identify two important components of an algorithm — reusing visibility calculations to predict the results of tracing shadow rays, and explicitly tracing new shadow rays in regions of uncertainty. The first component involves reusing and possibly warping geometry, and is well-studied in image-based rendering (IBR). However, the reuse of sampled geometry alone does not always provide a sufficiently accurate notion of visibility. Hence, the second component is essential—determining regions or light directions prone to errors in the reconstruction.