ABSTRACT

Variance Shadow Maps (VSMs) were first introduced in [Donnelly and Lauritzen 06] as an alternative to bilinear percentage closer filtering (PCF) to speed up rendering of smoothed shadows. The algorithm is relatively inexpensive, easy to implement, and very effective in rendering shadows with large penumbra regions. However, VSM has one major drawback-apparent light-bleeding-which occurs when two or more shadow casters cover each other in light-space. This article will show techniques that help to reduce the light-bleeding artifacts in VSM.

The idea of variance shadow mapping is to store in the shadow map, instead of a single depth value, a distribution of depth values over some region and to use elementary statistics to evaluate the shadowing term. This approach makes it possible to use filtering methods (bilinear, trilinear, blurring) on the shadow map. A common option is to use Gaussian blur on the shadow map to achieve soft shadows in O(n) time. This is a great advantage over traditional PCF which requires O(n2) time to achieve the same effect.