An different approach to store the shadow map to gain softer shadows with less artifacts. The abstracts says the following:
“Shadow maps are a widely used shadowing technique in real time graphics. One major drawback of their use is that they cannot be filtered in the same way as color textures, typically leading to severe aliasing. This paper introduces variance shadow maps, a new real time shadowing algorithm. Instead of storing a single depth value, we store the mean and mean squared of a distribution of depths, from which we can efficiently compute the variance over any filter region. Using the variance, we derive an upper bound on the fraction of a shaded fragment that is occluded. We show that this bound often provides a good approximation to the true occlusion, and can be used as an approximate value for rendering. Our algorithm is simple to implement on current graphics processors and solves the problem of shadow map aliasing with minimal additional storage and computation.”
The original paper and demo with source code:
http://www.punkuser.net/vsm/
Nvidias implementation and description of the algorithm (source code for DirectX10 can also be found on the same page):
http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/
VarianceShadowMapping/Doc/VarianceShadowMapping.pdf
Some more info from the author:
http://forum.beyond3d.com/showthread.php?t=40805


















You should also add a link to exponential shadow mapping which are used in some AAA game today. (I know developers of a unveil AAA game)