5.1.2 Deep Shadow Maps
Deep shadow maps retain many of the features found in normal shadow maps and provide some more goodies:
- Translucent shadows. Translucent surfaces will cast correct shadows;
- Shadows in participating media. It is possible to render volumetric shadows using DSMs (the display driver has a flag to account for this feature, see section 7.5 The DSM display driver);
- Supports mip-mapping. DSMs are mip-mapped, which means that they will exhibit much less aliasing artifacts than normal shadow maps;
- Need lower resolutions. Instead of generating large shadow maps to boost quality, one can generate a smaller DSM by using higher
PixelSample
values when creating the DSM;
- Cope well with fine geometric details. Fine details such as hair and particles can be handled without increasing shadow maps resolution too much;
- Render time shadow lookups are faster. Since DSMs are prefiltered, render time lookups will be faster (in general) than with normal shadow maps since the signal reconstruction step is more efficient. Also, DSMs are more texture cache friendly than shadow maps.
- Easily integrateable in a rendering pipeline. No modifications are necessary in shaders when changing shadow map format (normal or deep), the
shadow()
shadeop will work with both formats.
Before throwing DSMs into your production pipeline, consider the following facts:
- More expensive to compute. Generating good DSMs is generally slower than shadow maps. This is often the case when many
PixelSample
s are used during the generation step;
- Need more disk space. DSMs can grow quite large, mainly for two reasons:
- DSMs are mipmapped by default;
- more informations are stored per texel.
Using the "midpoint" option to produce deep shadow maps can lead to unpredictable results!
For deep shadow map creation please refer to section 7.5 The DSM display driver.
This document was generated
by Aghiles Kheffache on July, 31 2003
using texi2html
3Delight 1.0.0. Copyright 2000-2003 The 3Delight Team.
All Rights Reserved.