Improved Reflective Shadow Maps
Reflective shadow maps, introduced in 2005 by Carsten Dachsbacher and Marc Stamminger in the eponymous paper, is a technique for rendering a single bounce of indirect lighting in real time.
RSM is derived from the simple observation that any point that can be directly seen by a light source is itself a light source for first-order indirect illumination. In other words, each texel in a shadow map can be treated as a tiny light that can illuminate the scene. For this purpose, RSMs extend shadow maps to include normals and luminous flux.
While the technique delivers on the promises made in the paper, it suffers from a few drawbacks that make it difficult to use in real applications:
- High runtime cost, even on today's hardware
- Correlations in output
- No indirect occlusion (i.e., light leaking)
In this post, I will describe some techniques to improve the performance and quality of RSMs.