Changeset View
Changeset View
Standalone View
Standalone View
manual/render/eevee/shadows.rst
| Context not available. | |||||
| Select the shadow map type. It changes how shadows are stored and filtered. | Select the shadow map type. It changes how shadows are stored and filtered. | ||||
| :abbr:`ESM (Exponential Shadow Mapping)` | :abbr:`ESM (Exponential Shadow Mapping)` | ||||
| They are fast to filter but suffer form light leaking near the occluder. | These are fast to filter but suffer form light leaking near the occluder. | ||||
| This can be minimized by increasing the *Exponent* parameter. | This can be minimized by increasing the *Exponent* parameter. | ||||
| Another issue is the artifacts present at depth discontinuity. | Another issue is the artifacts present at depth discontinuity. | ||||
| Unfortunately, there is no workaround for this issue and the only way | Unfortunately, there is no workaround for this issue and the only way | ||||
| Context not available. | |||||
| It is also prone to light leaking when two occluders overlap. | It is also prone to light leaking when two occluders overlap. | ||||
| In this case the shadows can be overdarkened to reduce the leak, | In this case the shadows can be overdarkened to reduce the leak, | ||||
| by using the *Bleed Bias* parameter. | by using the *Bleed Bias* parameter. | ||||
| VSM uses twice as much memory as ESM, and are slower. | VSM uses twice as much memory as ESM and is slower. | ||||
| Cube Size | Cube Size | ||||
| Size of the shadow cubemaps used to shadow Point, Area and Spot lights. | Size of the shadow cubemaps used to shadow Point, Area and Spot lights. | ||||
| Context not available. | |||||
| High Bitdepth | High Bitdepth | ||||
| This option can help reduce some artifacts due to float imprecision inside the shadow maps. | 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. | It effectively doubles the memory usage by shadow maps and will slow down their update. | ||||
| Soft Shadows | Soft Shadows | ||||
| Randomize the shadow maps origin to create soft shadows. It needs a lot of samples to get rid of the banding. | Randomizes the shadow maps origin to create soft shadows. | ||||
| This needs a lot of samples to reduce banding. | |||||
| Light Threshold | Light Threshold | ||||
| In order to avoid costly setup time, this distance is first computed | In order to avoid costly setup time, this distance is first computed | ||||
| automatically based on a light threshold. The distance is computed | automatically based on a light threshold. The distance is computed | ||||
| at the light origin and using the inverse square falloff. The setting | at the light origin and uses inverse square falloff. The setting | ||||
| can be found inside the :menuselection:`Render Settings panel --> Shadow tab`. | can be found inside the :menuselection:`Render Settings panel --> Shadow tab`. | ||||
| This light threshold does not take the light shape into account and may not | 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 | suit every case. That is why we provide a per-lamp override where you can | ||||
| just set the cut off distance | just set the cut off distance | ||||
| (:menuselection:`Light Properties Panel --> Light --> Custom Distance`). | (:menuselection:`Light Properties Panel --> Light --> Custom Distance`). | ||||
| The influence distance is also used as shadow far clip distance, which might affect how shadows looks. | The influence distance is also used as shadow far clip distance, which might affect how shadows look. | ||||
| This influence distance does not concerns sun lights that still have a far clip distance. | This influence distance does not concerns sun lights, which still have a far clip distance. | ||||
| .. seealso:: | .. seealso:: | ||||
| Context not available. | |||||
| .. tip:: | .. tip:: | ||||
| A 512px cubemap is 6 x 512 x 512 pixels in it. | 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. | Tweaking the *Size* parameters can have a big impact on memory consumption and performance. | ||||
| Context not available. | |||||
| Soft | Soft | ||||
| Size of the filter applied to the shadow map. | Size of the filter applied to the shadow map. | ||||
| This filter size is independent from the shadow map resolution. | This filter size is independent of the shadow map resolution. | ||||
| Higher filter size can have a big impact on performance. | 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. | There is a maximum cap to filter size (in pixels) that depends on shadow resolution. | ||||
| Context not available. | |||||
| Contact Shadows | Contact Shadows | ||||
| --------------- | --------------- | ||||
| This type of shadows exists to fix light leaking caused by Bias or shadow map undersampling. | This type of shadow 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). | It uses the depth buffer to find occluders (just like Screen Space Reflections). | ||||
| However, exactly like Screen Space Reflections, they suffer from the same limitations: | However, just like Screen Space Reflections it suffers from the same limitations, | ||||
| unknown object thickness, effect disappearing at screen edges. | namely, unknown object thickness and effect disappearing at screen edges. | ||||
| .. tip:: | .. tip:: | ||||
| Context not available. | |||||
| World space distance in which to search for screen space occluder. | World space distance in which to search for screen space occluder. | ||||
| Softness | Softness | ||||
| Control how soft the contact shadows will be. Contact shadow blurring does not match light's physical size. | Controls how soft the contact shadows will be. | ||||
| Contact shadow blurring does not match a light's physical size. | |||||
| Bias | Bias | ||||
| Bias applied to the ray tracing to reduce self shadowing artifacts. | Bias applied to the ray tracing to reduce self-shadowing artifacts. | ||||
| Thickness | Thickness | ||||
| Pixel thickness used to detect occlusion. Treat any potential occluder to be this thick. | Pixel thickness used to detect occlusion, treating any potential occluder as this thick. | ||||
| .. _eevee-cascaded-shadow-map: | .. _eevee-cascaded-shadow-map: | ||||
| Context not available. | |||||
| Cascaded Shadow Map | Cascaded Shadow Map | ||||
| ------------------- | ------------------- | ||||
| These special kind of shadow maps are used by Sun lights. | This special kind of shadow map is used by Sun lights. | ||||
| This is because they can shadow large scenes by distributing multiple shadow maps over the frustum range. | It can shadow large scenes by distributing multiple shadow maps over the frustum range. | ||||
| Each cascade covers a different portion of the view frustum. | Each cascade covers a different portion of the view frustum. | ||||
| Do note that cascade shadow map are always updated because they are view dependent. | Note that cascade shadow maps are always updated because they are view dependent. | ||||
| This means they have a high performance impact. | This means they have a high performance impact. | ||||
| Count | Count | ||||
| Number of cascade to use. More cascade means better precision but slower update. | Number of cascades to use. More cascades means better precision but slower updates. | ||||
| Fade | Fade | ||||
| Fade transition area between two cascades. | Fade transition area between two cascades. | ||||
| Context not available. | |||||
| Higher values means less overall resolution because cascades need to overlap. | Higher values means less overall resolution because cascades need to overlap. | ||||
| Max Distance | Max Distance | ||||
| Distance away from the view origin (or camera origin if in camera view) to cover with the cascade. | 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. | If the view far clip distance is lower than Max Distance, the lowest of the two will be used. | ||||
| Only works in perspective view. | Only works in perspective view. | ||||
| Context not available. | |||||
| - Shadows are not supported on light instances (dupli objects, group instancing). | - Shadows are not supported on light instances (dupli objects, group instancing). | ||||
| - Only 128 active lights can be supported by Eevee in a scene. | - Only 128 active lights can be supported by Eevee in a scene. | ||||
| - Only 8 Shadowed sun lights can be supported at the same time. | - Only 8 Shadowed sun lights can be supported at the same time. | ||||
| Shadow Catcher | |||||
| ============== | |||||
| .. tip:: | |||||
| Until Eevee has a built-in shadow catcher like Cycles a good shadow catching technique can be found at: | |||||
| `Blender Artists <https://blenderartists.org/t/cycles-ground-for-hdri-environment-aka-shadow-light-catcher/636320>`__ -- *for Cycles, but works for Eevee too.* | |||||
| Context not available. | |||||