EEVEE-Next: Update Documentation #104816
@ -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,
|
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.
|
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.
|
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 error message *Shadow buffer full* means that the system cannot allocate.
|
||||||
fclem marked this conversation as resolved
Outdated
|
|||||||
|
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:
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. _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
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?
|
|||||||
|
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
Hans Goudey
commented
`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:
|
.. _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
|
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
|
If enabled, uses :ref:`Distance <bpy.types.Light.cutoff_distance>` as the custom attenuation distance
|
||||||
at the light origin and using the inverse square falloff.
|
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
|
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.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
Global :doc:`Light Threshold </render/eevee/render_settings/shadows>`.
|
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.
|
|
||||||
|
|
||||||
.. 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.
|
|
||||||
|
|
||||||
.. seealso:: :ref:`Limitations <eevee-limitations-shadows>`.
|
|
||||||
|
|
||||||
|
|
||||||
Limitations
|
|
||||||
===========
|
|
||||||
|
|
||||||
- Unlike in Cycles, the *Size* of spot lights does not change the softness of the cone.
|
|
||||||
|
@ -26,6 +26,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.
|
||||||
|
|
||||||
|
|
||||||
Light Probes
|
Light Probes
|
||||||
|
@ -17,10 +17,14 @@ High Quality Normals
|
|||||||
Memory
|
Memory
|
||||||
======
|
======
|
||||||
|
|
||||||
|
.. _bpy.types.SceneEEVEE.shadow_pool_size:
|
||||||
|
|
||||||
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.
|
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.
|
Increasing it might fix the *Shadow buffer full* error.
|
||||||
|
|
||||||
|
.. _bpy.types.SceneEEVEE.gi_irradiance_pool_size:
|
||||||
|
|
||||||
Light Probes Volume 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.
|
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
Hans Goudey
commented
`more irradiance grid` -> `more irradiance grids`
|
|||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user
cannot allocate
->cannot allocate enough memory