 
Summary: Efficient Shadows for Sampled Environment Maps
Aner BenArtzi Ravi Ramamoorthi Maneesh Agrawala
Columbia University Columbia University Microsoft Research
aner@cs.columbia.edu ravir@cs.columbia.edu maneesh@graphics.stanford.edu
Abstract
This paper addresses the problem of efficiently calculating shadows from environment maps
in the context of raytracing. Since accurate rendering of shadows from environment maps
requires hundreds of lights, the expensive computation is determining visibility from each pixel
to each light direction. We show that coherence in both spatial and angular domains can be
used to reduce the number of shadowrays that need to be traced. Specifically, we use a coarse
tofine evaluation of the image, predicting visibility by reusing visibility calculations from 4
nearby pixels that have already been evaluated. This simple method allows us to explicitly
mark regions of uncertainty in the prediction. By only tracing rays in these and neighboring
directions, we are able to reduce the number of shadowrays traced by up to a factor of 20 while
maintaining error rates below 0.01%. For many scenes, our algorithm can add shadowing from
hundreds of lights at only twice the cost of rendering without shadows. Sample source code is
available online.
approximatelyequalquality
approximatelyequalwork
60 million shadow rays
