Real-Time Soft Shadows in Dynamic Scenes Using Spherical Harmonic Exponentiation
- Zhong Ren ,
- Rui Wang ,
- John Snyder ,
- Kun Zhou ,
- Xinguo Liu ,
- Bo Sun ,
- Peter-Pike Sloan ,
- Hujun Bao ,
- Qunsheng Peng ,
- Baining Guo
ACM Transaction on Graphics | , pp. 977-986
Previous methods for soft shadows numerically integrate over many light directions at each receiver point, testing blocker visibility in each direction. We introduce a method for real-time soft shadows in dynamic scenes illuminated by large, low-frequency light sources where such integration is impractical. Our method operates on vectors representing low-frequency visibility of blockers in the spherical harmonic basis. Blocking geometry is modeled as a set of spheres; relatively few spheres capture the low-frequency blocking effect of complicated geometry. At each receiver point, we compute the product of visibility vectors for these blocker spheres as seen from the point. Instead of computing an expensive SH product per blocker as in previous work, we perform inexpensive vector sums to accumulate the log of blocker visibility. SH exponentiation then yields the product visibility vector over all blockers. We show how the SH exponentiation required can be approximated accurately and efficiently for low-order SH, accelerating previous CPU based methods by a factor of 10 or more, depending on blocker complexity, and allowing real-time GPU implementation.
Real-Time Soft Shadows in Dynamic Scenes Using Spherical Harmonic Exponentiation
Previous methods for soft shadows numerically integrate over many light directions at each receiver point, testing blocker visibility in each direction. We introduce a method for real-time soft shadows in dynamic scenes illuminated by large, low-frequency light sources where such integration is impractical. Our method operates on vectors representing low-frequency visibility of blockers in the spherical harmonic basis. Blocking geometry is modeled as a set of spheres; relatively few spheres capture the low-frequency blocking effect of complicated geometry. At each receiver point, we compute the product of visibility vectors for these blocker spheres as seen from the point. Instead of computing an expensive SH product per blocker as in previous work, we perform inexpensive vector sums to accumulate the log of blocker visibility. SH exponentiation…