EEVEE-Next: Update Documentation #104816

Merged
Clément Foucault merged 25 commits from fclem/blender-manual:eevee-next-manual into blender-v4.2-release 2024-06-12 17:47:14 +02:00
3 changed files with 101 additions and 113 deletions
Showing only changes of commit 72046cfed8 - Show all commits

View File

@ -13,126 +13,109 @@ lights are another way to add light into the scene.
The difference is that they are not directly visible in the rendered image,
and can be more easily managed as objects of their own type.
See :doc:`Light settings </render/lights/light_object>` for settings common to all renderers.
Common
Shadow
======
:doc:`Light settings </render/lights/light_object>` for all renderers.
.. _bpy.types.Light.use_custom_distance:
.. _bpy.types.Light.cutoff_distance:
EEVEE
=====
Specular
Specular Light intensity multiplier. Use it for artistic control. Defines the intensity with which the light object
will be visible in reflections on the surface of specular objects, like metals or mirrors.
Setting this to 0 will make the light object disappear from specular reflections. Keep it exactly at 1.0 for
photo-realistic results.
Custom Distance
If enabled, uses *Distance* as the custom attenuation distance instead of global Light Threshold.
In order to avoid long setup times, 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.
Distance
Specifies where light influence will be set to 0.
.. seealso::
Global :doc:`Light Threshold </render/eevee/render_settings/shadows>`.
.. note::
The light's *Power*/*Strength* affect both specular and diffuse light.
.. _bpy.types.*Light.shadow:
Shadows
=======
Common Parameters
-----------------
Clip Start
Distance from the light object at which the shadow map starts.
Any object which is closer to the light than Clip Start will not cast shadows.
*Clip Start* is only available for point, spot and area lights.
Bias
Bias applied to the depth test to reduce self-shadowing artifacts.
This determines, what size of surface details (for example, bumps) will cast shadows on the object itself.
If this value is low, small bumps will cast shadows on the object's surface.
This might cause jagged shadow edge between the sunny and shadowy side of the object,
but it can be smoothed out by turning on :doc:`Soft Shadows </render/eevee/render_settings/shadows>`
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 has the same limitations,
namely, unknown object thickness and effect disappearing at screen edges.
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
only where it is needed. It also includes a very efficient caching mechanism.
.. 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.
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.
.. _eevee-cascaded-shadow-map:
Cascaded Shadow Map
-------------------
Sun lights usually illuminate a large scene with many objects, some close, some far away.
To optimize shadow calculation in this situation, a technique called Cascaded Shadow Maps is used.
The distance between the camera's near clip and far clip point is divided into as many equal intervals
(called cascades) as you set the Count parameter below.
For each cascade a different resolution shadow will be displayed: higher resolution for closer cascades and lower
resolution for distant ones.
Do note that cascade shadow maps are always updated because they depend on the camera position or your view origin in
the 3D-Viewport. 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 shadow precision but a lower update rate.
Fade
When the Fade is greater than 0, the size of each cascade (distance interval) is increased so that neighboring
cascades overlap. Then a fade is applied in the overlapping region to provide a smooth transition between cascades.
Higher values mean the cascade's size is increased more, which decreases the available shadow resolution
inside the cascade since some of it is used in the overlapping region.
Max Distance
Distance away from the view origin (or camera origin if in camera view) to cover by the cascades.
If the view far clip distance is lower than Max Distance, the view far clip distance will be used.
Only works in perspective view.
Distribution
Puts more resolution towards the near clip plane. Only works in perspective view.
- The error message *Shadow buffer full* means that the system cannot allocate.
fclem marked this conversation as resolved Outdated

cannot allocate -> cannot allocate enough memory

`cannot allocate` -> `cannot allocate enough memory`
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
might fix the issue.
.. seealso:: :ref:`Limitations <eevee-limitations-shadows>`.
.. _bpy.types.Light.use_shadow_jitter:
Limitations
===========
Jitter
Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings).
Has a high performance impact as the shadow map cannot be cached and needs to be updated for each render sample.
- Unlike in Cycles, the *Size* of spot lights does not change the softness of the cone.
.. _bpy.types.Light.shadow_jitter_overblur:
Overblur
Apply shadow tracing to each jittered sample to reduce under-sampling artifacts.
.. _bpy.types.Light.shadow_filter_radius:
Filter
Blur shadow aliasing using Percentage Closer Filtering with a circular kernel.
fclem marked this conversation as resolved Outdated

Not sure why Percentage Closer Filtering is capitalized. If it's some concept, maybe it should be a link or reference instead?

Not sure why `Percentage Closer Filtering` is capitalized. If it's some concept, maybe it should be a link or reference instead?
The effective world scale of the filter depends on the shadow map resolution at the shadowed pixel position.
.. _bpy.types.Light.shadow_maximum_resolution:
Resolution Limit
Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality.
Higher values also speed-up rendering of heavy scene.
fclem marked this conversation as resolved Outdated

scene -> scenes

`scene` -> `scenes`
Each shadow is scaled depending on the shadowed pixel on screen. This can create very sharp shadows
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.
.. _bpy.types.Light.use_absolute_resolution:
Absolute Resolution Limit
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.
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.
.. tip::
This setting only exists for compatibility reasons. Do not use it unless you have a good reason.
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.
Influence
=========
These parameters modulate the intensity of the light depending on the shader type.
These are meant for artistic control, and any value other than 1.0 breaks :abbr:`PBR (Physically Based Rendering)` rules.
.. _bpy.types.Light.diffuse_factor:
Diffuse
Diffuse reflection intensity multiplier.
.. _bpy.types.Light.specular_factor:
Glossy
Glossy light intensity multiplier.
.. _bpy.types.Light.transmission_factor:
Transmission
Transmission light intensity multiplier.
.. _bpy.types.Light.volume_factor:
Volume Scatter
Volume light intensity multiplier.
.. _bpy.types.Light.use_custom_distance:
Custom Distance
===============
If enabled, uses :ref:`Distance <bpy.types.Light.cutoff_distance>` as the custom attenuation distance
instead of global Light Threshold. In order to avoid long setup times, 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.
.. _bpy.types.Light.cutoff_distance:
Distance
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.
.. seealso::
Global :doc:`Light Threshold </render/eevee/render_settings/shadows>`.

View File

@ -26,6 +26,7 @@ Lights
======
- For now lights can only have one color and do not support light node trees.
fclem marked this conversation as resolved Outdated

For now lights -> Lights

`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.
Light Probes

View File

@ -17,10 +17,14 @@ High Quality Normals
Memory
======
.. _bpy.types.SceneEEVEE.shadow_pool_size:
Shadow Pool Size
A bigger pool size allows for more shadows in the scene but might not fit into GPU memory and decreases performance.
Increasing it might fix the *Shadow buffer full* error.
.. _bpy.types.SceneEEVEE.gi_irradiance_pool_size:
Light Probes Volume Pool Size
A bigger pool size allows for more irradiance grid in the scene but might not fit into GPU memory and decreases performance.
fclem marked this conversation as resolved Outdated

more irradiance grid -> more irradiance grids

`more irradiance grid` -> `more irradiance grids`