We recently read the following paper:
Louis Bavoil. 2011. Multi-View Soft Shadows. NVIDIA white paper.
This paper described a method for implementing soft shadows in real time, using the same method used in global illumination: multiple sampling of area light sources. It's only recently that performing this in real time became possible. Like most nvidia white papers, this paper was short and sweet. We had the following comments:
- It looks great! Probably because it's more correct than existing methods.
- It runs quickly, at least for the 30K or so polygons casting shadows here.
- Building the shadow buffers was performed in multipass, in this example, 28 passes. Although building the buffers was the fastest part of the algorithm in this example, if we scale up to more common model sizes (e.g. 1M triangles), and assume that they all cast shadows, building the map dominates, and the overall speed of this algorithm becomes far too slow (~33ms).
- We see artifacts in the shadows (aliasing between sampled light points) when the light source becomes larger, especially when there is motion. If more light samples are needed, we will need more passes, making this algorithm still more expensive.