Shadows

Eevee uses Shadow Mapping techniques to properly shadow the light coming directly from light objects.

A shadow map is a texture that stores the nearest occluder from the light position. Eevee also filters the shadow maps in order to smooth out the pixelated appearance.

Global Settings

Reference

Panel:Render ‣ Shadows
Method

Select the shadow map type. It changes how shadows are stored and filtered.

ESM
They are fast to filter but light leaking may occur near an occluder. This can be minimized by increasing the Exponent parameter. Another issue is the artifacts present at depth discontinuity. Unfortunately, there is no workaround for this issue and the only way to minimize it is to reduce the Soft parameter.
VSM
Filters nicely and gives smooth shadow map appearance across the whole shadow range. However grainy artifacts will be visible when using a low bit depth. It is also prone to light leaking when two occluders overlap. In this case the shadows can be overdarkened to reduce the leak, by using the Bleed Bias parameter. VSM uses twice as much memory as ESM, and is slower.
Cube Size
Size of the shadow cubemaps used to shadow Point, Area and Spot lights. Higher shadow map size will give higher precision and sharper shadows.
Cascade Size
Size of one cascade used by Cascaded Shadow Maps. This is only for Sun lights.
High Bitdepth
This option can help reduce some artifacts due to float imprecision inside the shadow maps. This option effectively double the memory usage of shadow maps and will slow down their update.
Soft Shadows
Randomize the shadow maps origin to create soft shadows. It needs a lot of samples to get rid of the banding.
Light Threshold

In order to avoid costly setup time, this distance is first computed automatically based on a light threshold. The distance is computed at the light origin and using the inverse square falloff. The setting can be found inside the Render Settings panel ‣ Shadow tab.

This light threshold does not take the light shape into account and may not suit every case. That is why we provide a per-light override where you can just set the cut off distance (Properties ‣ Object Data ‣ Light ‣ Custom Distance).

The influence distance is also used as shadow far clip distance, which might affect how shadows looks. This influence distance does not concern sun lights that still have a far clip distance.

See also

Custom Limit.

Note

The Soft Shadows method is not physically based and will not match Cycles for very large lights.

Tip

A 512 px cubemap has 6 x 512 x 512 pixels in it. Tweaking the Size parameters can have a big impact on memory consumption and performance.

Light Settings

Common Parameters

Clip
Distance from the light object at which the shadow map starts and ends. Any object before this distance will not appear to cast shadows. Clip End will only appear for sun lights.
Soft
Size of the filter applied to the shadow map. This filter size is independent of the shadow map resolution. Higher filter size can have a big impact on performance. There is a maximum cap to filter size (in pixels) that depends on shadow resolution.
Bias
Bias applied to the depth test to reduce self shadowing artifacts.
Exponent
Exponent applied to ESM to reduce light leaking.
Bleed Bias
Bias applied to VSM to reduce light leaking.

Contact Shadows

This type of shadow exists to fix light leaking caused by bias or shadow map undersampling. It uses the depth buffer to find occluders (just like Screen Space Reflections). However, just like Screen Space Reflections it suffers from the same limitations, namely, unknown object thickness and effect disappearing at screen edges.

Tip

The distance of action of Contact Shadows should remain quite small. They are not accurate enough to shadow the entire scene.

Distance
World space distance in which to search for screen space occluder.
Softness
Controls how soft the contact shadows will be. Contact shadow blurring does not match a light’s physical size.
Bias
Bias applied to the ray tracing to reduce self-shadowing artifacts.
Thickness
Pixel thickness used to detect occlusion, treating any potential occluder as this thick.

Cascaded Shadow Map

These special kind of shadow maps are used by Sun lights. This is because they can shadow large scenes by distributing multiple shadow maps over the frustum range. Each cascade covers a different portion of the view frustum. Do note that cascade shadow maps are always updated because they are view dependent. This means they have a high performance impact.

Note

In orthographic view the cascades cover the whole depth range of the camera with an evenly distributed shadow precision.

Count
Number of cascades to use. More cascades means better precision but a lower update rate.
Fade
Fade transition area between two cascades. Higher values means less overall resolution because cascades need to overlap.
Max Distance
Distance away from the view origin (or camera origin if in camera view) to cover by the cascade. If the view far clip distance is lower than Max Distance, the lowest of the two will be used. Only works in perspective view.
Distribution
Puts more resolution towards the near clip plane. Only works in perspective view.

See also

Limitations.