CRYENGINE supports shadow casting from all available light sources and shadow receiving on all deferred and most forward rendered geometry. We use traditional shadow mapping for all shadow generation.
Due to the vastly different area of influence, we classify shadow casting light sources into two categories:
- Directional light sources (i.e. sun and moon).
- Point- and area light sources.
Since shadow generation is an expensive process, CRYENGINE offers various strategies to reduce run-time costs:
- For sun shadows, the furthest away cascades can be stopped from updating dynamically. See Cached Shadows.
- Point and area light sources can be set to update in coarse intervals, for example every second frame or less.
- Sub-materials are merged during shadow generation resulting in less draw calls. See r_MergeShadowDrawcalls.