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 suffer form light leaking near the 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 it suffers from visible grainy artifacts when using 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 are 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 lamps.
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-lamp override where you can just set the cut off distance (Light Properties Panel ‣ 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 concerns sun lights that still have a far clip distance.

Voir aussi

Custom Limit.

Note

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

Astuce

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

Lamp 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 lamps.
Soft
Size of the filter applied to the shadow map. This filter size is independent from 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 shadows exists to fix light leaking caused by Bias or shadow map undersampling. They uses the depth buffer to find occluders (just like Screen Space Reflections). However, exactly like Screen Space Reflections, they suffer from the same limitations: unknown object thickness, effect disappearing at screen edges.

Astuce

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
Control how soft the contact shadows will be. Contact shadow blurring does not match light’s physical size.
Bias
Bias applied to the ray tracing to reduce self shadowing artifacts.
Thickness
Pixel thickness used to detect occlusion. Treat any potential occluder to be 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 map are always updated because they are view dependent. This means they have a high performance impact.

Count
Number of cascade to use. More cascade means better precision but slower update.
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 with 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.

Limitations

  • Shadows are not supported on light instances (dupli objects, group instancing).
  • Only 128 active lights can be supported by Eevee in a scene.
  • Only 8 Shadowed sun lights can be supported at the same time.