Q: How to generate the shadow map for each of split parts?

A: The view frustum is split into several parts {Vi}, by using the clip planes parallel to the near plane at split positions {Ci}. Then we compute the intersected space between Vi and the light's frustum W. The "intersection" operations result in a sequence of sub-spaces {Wi}. Like standard shadow mapping, we render a shadow map Ti for each Vi. But here we should notice that the current light's view space is Wi (not W!) when we render Ti. More importantly, the pixel also needs to be transformed into the corresponding sub-space rather than W during shadow determinations. Different shadow map reparameterizations can be applied in different depth layers when generating shadow maps.

Due to the bias of the floating-point number on hardware, we'd better introduce a very small intersection between adjacent split parts. In our implementation, a trivial bias was used for each split position Ci to remove the floating-point errors.

 
Disclaimer: This is a user-contributed webpage hosted in Department of Computer Science and Engineering, The Chinese University of Hong Kong.
The department is not responsible for the contents nor any loss or damage due to it.