ABSTRACT

We present a soft shadow algorithm that combines the benefits of these two approaches by employing temporal coherence: the light source is sampled over multiple frames instead of a single frame, creating only a single shadow map with each frame. The individual shadow test results are stored in a screen-space (of the camera) shadow buffer (see Figure 4.2). Focusing each shadow map on creation can be done because only fragments in the screen space of the camera remain stored in the shadow buffer. This buffer is recreated with each frame using the shadow buffer from the previous frame Bprev as input (ping-pong style). The input Bprev holds shadowing information only for pixels that were visible in the previous frame. Pixels that become newly visible in the current frame due to camera (or object) movement (so-called disocclusions) have no shadowing information stored in this buffer. For these pixels we use spatial filtering to estimate the soft shadow results.