Overview

Ray traced shadows calculate the path of individual light rays from their source (the light) to their destination.

Ray traced shadows produce more physically accurate shadows, so turning this feature on makes shadows much more realistic.

Ray Traced Shadows in CRYENGINE can be broken down into two components.


 SVO Ray Traced Sun Shadows

This feature can be considered as an alternative for cached shadow maps.

If SVOGI is already used in a level, this feature allows calculating shadows from the static world without the following known overheads of (cached) shadow maps:

SVO shadows also provide a soft penumbra without expensive filtering required for traditional shadow maps.

The most practical use case now is to limit number of sun shadow cascades to 2 and enable SVO traced shadows.

The drawback is the shadows are too soft in some cases mainly because softness depends from resolution of voxels.

Implementation

To turn this feature on, go to Level Settings -> Total Illumination V2 and switch on Shadows from Sun.

 

When enabled, the GI system calculates an additional shadow mask containing shadows from all voxelized objects.

This mask is then combined with rest of the shadows. When not using this feature, the clouds shadow pass is used for that. 

Ray Traced Shadows from Terrain Heightmap

This feature allows shadow casting from the entire height map, even at a distance of 8 km.

This is a simple alternative to the traditional shadow mapping approach for distant shadows from big mountains.

Compared to shadow maps the advantages are:

For tracing the height map textures that are already allocated for terrain rendering are used.

Shadows are generated at a low screen resolution and then up-scaled using the SVOGI dual depth up-scale system.

Implementation

To turn this feature on, go to Level Settings -> Total Illumination V2 and switch on Shadows from Heightmap.

This will only have any effect if Shadows From Sun (see above) is also turned on.

CVars

Cvar/Command
Description
e_svoTI_ShadowsFromHeightmap Can be used to temporary disable/enable the feature