EEVEE-Next: Update Documentation #104816
@ -19,15 +19,19 @@ Shadow
|
|||||||
======
|
======
|
||||||
|
|
||||||
For shadowing lights, EEVEE uses a technique called *Virtual Shadow Mapping* along with *Shadow Map Raytracing*.
|
For shadowing lights, EEVEE uses a technique called *Virtual Shadow Mapping* along with *Shadow Map Raytracing*.
|
||||||
This technique offers better performance than ray tracing and is compatible with any *Render Method*.
|
|
||||||
*Virtual Shadow Mapping* produces more accurate results than traditional shadow mapping by putting resolution
|
*Virtual Shadow Mapping* produces more accurate results than traditional shadow mapping by putting resolution
|
||||||
only where it is needed. It also includes a very efficient caching mechanism.
|
only where it is needed. It also includes a very efficient caching mechanism.
|
||||||
|
This technique offers better performance than ray tracing and is compatible
|
||||||
|
with any :ref:`Render Method <bpy.types.Material.render_method>`.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
fclem marked this conversation as resolved
Outdated
|
|||||||
- The error message *Shadow buffer full* means that the system cannot allocate.
|
- The error message *Shadow buffer full* means that the system cannot allocate more shadow memory.
|
||||||
Increasing the :ref:`Shadow Pool Size <bpy.types.SceneEEVEE.shadow_pool_size>` or
|
Increasing the :ref:`Shadow Pool Size <bpy.types.SceneEEVEE.shadow_pool_size>` or
|
||||||
increasing the :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>` on some lights
|
the :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>` on some lights
|
||||||
might fix the issue.
|
can fix the issue. Otherwise, the only workaround is to disable shadow casting on some lights.
|
||||||
|
- *Shadow Map Raytracing* can be tweaked in the :ref:`Render Settings <eevee-shadow-raytrace>`.
|
||||||
|
- Turning on :ref:`Jitter <bpy.types.Light.use_shadow_jitter>` can reduce the light leaking artifacts
|
||||||
|
caused by large lights and *Shadow Map Raytracing*.
|
||||||
|
|
||||||
.. seealso:: :ref:`Limitations <eevee-limitations-shadows>`.
|
.. seealso:: :ref:`Limitations <eevee-limitations-shadows>`.
|
||||||
|
|
||||||
@ -42,12 +46,18 @@ Jitter
|
|||||||
Overblur
|
Overblur
|
||||||
Apply shadow tracing to each jittered sample to reduce under-sampling artifacts.
|
Apply shadow tracing to each jittered sample to reduce under-sampling artifacts.
|
||||||
|
|
||||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
Not sure why Not sure why `Percentage Closer Filtering` is capitalized. If it's some concept, maybe it should be a link or reference instead?
|
|||||||
|
.. note::
|
||||||
|
Any value higher than zero will result in a blurrier shadow and is not physically correct.
|
||||||
|
|
||||||
.. _bpy.types.Light.shadow_filter_radius:
|
.. _bpy.types.Light.shadow_filter_radius:
|
||||||
|
|
||||||
Filter
|
Filter
|
||||||
Blur shadow aliasing using Percentage Closer Filtering with a circular kernel.
|
Blur shadow aliasing using Percentage Closer Filtering with a circular kernel.
|
||||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`scene` -> `scenes`
|
|||||||
The effective world scale of the filter depends on the shadow map resolution at the shadowed pixel position.
|
The effective world scale of the filter depends on the shadow map resolution at the shadowed pixel position.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Any value bigger than 1px will increase the chances of light leaking artifacts.
|
||||||
|
|
||||||
.. _bpy.types.Light.shadow_maximum_resolution:
|
.. _bpy.types.Light.shadow_maximum_resolution:
|
||||||
|
|
||||||
Resolution Limit
|
Resolution Limit
|
||||||
@ -57,19 +67,24 @@ Resolution Limit
|
|||||||
but also requires a lot of memory if the shadowed pixel is close to the camera.
|
but also requires a lot of memory if the shadowed pixel is close to the camera.
|
||||||
This property limits the maximum amount of detail that the shadow map can capture.
|
This property limits the maximum amount of detail that the shadow map can capture.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Reducing the shadow map resolution will increase the chances of light leaking artifacts.
|
||||||
|
|
||||||
.. _bpy.types.Light.use_absolute_resolution:
|
.. _bpy.types.Light.use_absolute_resolution:
|
||||||
|
|
||||||
Absolute Resolution Limit
|
Absolute Resolution Limit
|
||||||
Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel.
|
Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel.
|
||||||
This makes :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>` act as a regular shadow map pixel size.
|
This makes :ref:`Resolution Limit <bpy.types.Light.shadow_maximum_resolution>` act as a regular shadow map pixel size.
|
||||||
|
|
||||||
|
.. note::
|
||||||
For example, with this option enabled, a *Resolution Limit* set to `2 * sqrt(2) / 1024` will limit the resolution to 1024px².
|
For example, with this option enabled, a *Resolution Limit* set to `2 * sqrt(2) / 1024` will limit the resolution to 1024px².
|
||||||
The `2 * sqrt(2)` refers to the unit cube diagonal.
|
The `2 * sqrt(2)` refers to the unit cube diagonal.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
This setting only exists for compatibility reasons. Do not use it unless you have a good reason.
|
This setting only exists for compatibility reasons. It might be removed in future versions.
|
||||||
It might be removed in future versions.
|
|
||||||
|
|
||||||
.. note:: The setting :ref:`Absolute Resolution Limit <bpy.types.Light.use_absolute_resolution>` does not exist for Sun Light.
|
.. note::
|
||||||
|
The setting :ref:`Absolute Resolution Limit <bpy.types.Light.use_absolute_resolution>` does not exist for Sun Light.
|
||||||
|
|
||||||
|
|
||||||
Influence
|
Influence
|
||||||
@ -114,7 +129,8 @@ The distance is computed at the light origin and using the inverse square fallof
|
|||||||
Distance
|
Distance
|
||||||
Specifies where light influence will be set to 0.
|
Specifies where light influence will be set to 0.
|
||||||
|
|
||||||
.. note:: The setting :ref:`Custom Distance <bpy.types.Light.use_custom_distance>` does not exist for Sun Light.
|
.. note::
|
||||||
|
The setting :ref:`Custom Distance <bpy.types.Light.use_custom_distance>` does not exist for Sun Light.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ Lights
|
|||||||
|
|
||||||
- For now lights can only have one color and do not support light node trees.
|
- For now lights can only have one color and do not support light node trees.
|
||||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`For now lights` -> `Lights`
|
|||||||
- Unlike in Cycles, the :ref:`Size <bpy.types.SpotLight.shadow_soft_size>` of spot lights does not change the softness of the cone.
|
- Unlike in Cycles, the :ref:`Size <bpy.types.SpotLight.shadow_soft_size>` of spot lights does not change the softness of the cone.
|
||||||
|
- The area light :ref:`Beam spread <bpy.types.SpotLight.spot_size>` option is not supported.
|
||||||
|
|
||||||
|
|
||||||
Light Probes
|
Light Probes
|
||||||
@ -34,18 +35,23 @@ Light Probes
|
|||||||
|
|
||||||
- EEVEE supports up to 128 active light probe spheres.
|
- EEVEE supports up to 128 active light probe spheres.
|
||||||
- EEVEE supports up to 16 active light probe planes inside the view frustum.
|
- EEVEE supports up to 16 active light probe planes inside the view frustum.
|
||||||
|
- Active light probe volumes must fit inside the :ref:`Light Probes Volume Memory Pool <bpy.types.SceneEEVEE.gi_irradiance_pool_size>`.
|
||||||
|
|
||||||
Indirect Lighting
|
Indirect Lighting
|
||||||
=================
|
=================
|
||||||
|
|
||||||
- Light probe capture does not support specular reflections. Specular energy is treated as diffuse.
|
- Light probe capture does not support specular reflections. Specular energy is treated as diffuse.
|
||||||
|
|
||||||
|
.. _eevee-limitations-shadows:
|
||||||
|
|
||||||
Shadows
|
Shadows
|
||||||
=======
|
=======
|
||||||
|
|
||||||
- See :ref:`eevee-limitations-shadows` for a detailed explanation of shadow limitations.
|
- *Shadow Map Raytracing* can produce light leaking because of overlapping shadow casters.
|
||||||
|
This can be mitigated by using lower :ref:`Size <bpy.types.SceneEEVEE.shadow_step_count>`, enabling
|
||||||
|
:ref:`Size <bpy.types.Light.use_shadow_jitter>`, or reducing the light shape size.
|
||||||
|
- Thin objects (e.g. walls without thickness) might have light leaking on the shadowed side.
|
||||||
|
This can be mitigated by making the object have some thickness or lowering :ref:`Size <bpy.types.Light.shadow_maximum_resolution>`.
|
||||||
|
|
||||||
.. _eevee-limitations-volumetrics:
|
.. _eevee-limitations-volumetrics:
|
||||||
|
|
||||||
|
@ -37,14 +37,22 @@ Samples
|
|||||||
The number of samples to use in the final render.
|
The number of samples to use in the final render.
|
||||||
|
|
||||||
|
|
||||||
|
.. _eevee-shadow-raytrace:
|
||||||
|
|
||||||
Shadows
|
Shadows
|
||||||
=======
|
=======
|
||||||
|
|
||||||
fclem marked this conversation as resolved
Hans Goudey
commented
`Amount of` -> `Number of`
|
|||||||
|
.. _bpy.types.SceneEEVEE.shadow_ray_count:
|
||||||
|
|
||||||
Shadow Rays Count
|
Shadow Rays Count
|
||||||
Amount of shadow rays to trace for each light.
|
Amount of shadow rays to trace for each light.
|
||||||
|
Higher values reduces the noise caused by random shadow sampling.
|
||||||
|
|
||||||
|
.. _bpy.types.SceneEEVEE.shadow_step_count:
|
||||||
|
|
||||||
Shadow Steps Count
|
Shadow Steps Count
|
||||||
Amount of shadow map sample per shadow ray.
|
Amount of shadow map sample per shadow ray.
|
||||||
|
Higher step count results in softer shadows but have a higher cost.
|
||||||
|
|
||||||
.. _bpy.types.SceneEEVEE.volumetric_shadow:
|
.. _bpy.types.SceneEEVEE.volumetric_shadow:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user
cannot allocate
->cannot allocate enough memory