This GI solution is based on voxel ray tracing and provides the following effects:
Pic1: Global Illumination examples
How It Works
|The current default configuration provides only diffuse GI. For specular lighting we still need light probes. This system can be used as an AO add-on to light probes or can completely replace diffuse contribution of light probes.|
The performance depends on which GI settings are used. Usually on Xbox One it takes 3-4 ms of GPU time and on a average PC (GTX 780) it takes 2-3 ms (AO + Sun bounce, no point lights, low-spec mode). The fastest configuration is "AO only" mode; this provides large scale AO at a cost of less than 2 ms on Xbox One.
The Global Illumination settings are located in Tools → Environment Editor → Constants → Total Illumination and Total Illumination Advanced:
Pic2: Global Illumination settings location
For more information about the Global Illumination parameters in this window, click here.
Pic3: r_ShowRenderTarget svo_fin
By default in basic mode 0 only opacity is voxelized. This allows very small memory allocations on GPU - about 16 MB. The bounced light is sampled directly from shadow maps (extended to RSM). Compute shaders are not used.
The advantages of mode 0 are:
Integration modes 1-2 use more memory for voxelization (at least 64 MB) - albedo, normals and several layers of radiance are voxelized together with opacity. The lighting gets injected into voxelization, then it may be propagated (within the voxelization) and is then sampled during ray tracing pass.
Below, you can see example of information stored in voxels: albedo colors, direct light injection and light propagation.
Pic4: Albedo colors, direct light injection and light propagation
The advantages of this mode:
If you get the error message "Display driver stopped responding and has recovered", you can use this workaround from Microsoft. This fix is applicable to Windows 10 as well.
Hand-placed analytical occluders help get sharper and more detailed occlusion in some places where voxel resolution is not enough. Also analytical occluders can be moved or created in game dynamically (for example for opening doors or small house built by player in the game)
Enable it using the Analytical Occluders checkbox in the Environment Editor.
It activates support for hand-placed occlusion shapes and also enables soft indirect shadows from characters. For a character setup example please see ShadowCapsulesList in GameSDK\Objects\characters\human\generic\skeleton_player_generic.chrparams
The direction of shadows depends on the average light direction in that location, it is calculated automatically as part of GI calculations. The actual mesh used in the entity is not important - only the CGF name is used to pick one of 3 shapes. Normally mesh can be hidden by setting NoDraw shader in material. The entity can be moved freely (ghosting may be removed completely in future versions).
Crytek’s Artists Showcase CRYENGINE With New Beautiful Forest Maps
SVOTI in Kingdom Come: Deliverance Alpha 0.5 on/off comparison (with FPS)
LIGHT & ART: USING SVOTI TO BUILD BETTER GAMES
SVOTI in Miscreated open world MMO
GI on/off comparision
Sponza demo, YouTube, YouTube
Baron Haussmann demo, YouTube, CRYENGINE forums