EEVEE-Next: Update Documentation #104816
@ -15,3 +15,4 @@
|
||||
lighting.rst
|
||||
light_probes/index.rst
|
||||
limitations.rst
|
||||
limitations_shadow.rst
|
||||
|
@ -3,23 +3,23 @@
|
||||
Introduction
|
||||
************
|
||||
|
||||
EEVEE is Blender's realtime render engine built using :term:`OpenGL` focused on
|
||||
speed and interactivity while achieving the goal of rendering :abbr:`PBR (Physically Based Rendering)` materials.
|
||||
EEVEE is Blender's realtime render engine focused on speed and interactivity while achieving the
|
||||
goal of rendering :abbr:`PBR (Physically Based Rendering)` materials.
|
||||
EEVEE can be used interactively in the 3D Viewport but also produce high quality final renders.
|
||||
|
||||
.. figure:: /images/render_eevee_introduction_viewport.png
|
||||
|
||||
EEVEE in the 3D Viewport -- "Tiger" by Daniel Bystedt.
|
||||
|
||||
EEVEE materials are created using the same shader nodes as Cycles, making it easy to render existing scenes.
|
||||
For Cycles users, this makes EEVEE work great for previewing materials in realtime.
|
||||
EEVEE materials are created using the same shader nodes as Cycles, making it easy to render existing
|
||||
scenes. For Cycles users, this makes EEVEE work great for previewing materials in realtime.
|
||||
|
||||
Unlike Cycles, EEVEE is not a raytrace render engine.
|
||||
EEVEE is a based on rasterization and not (like Cycles) a path traced render engine.
|
||||
fclem marked this conversation as resolved
Outdated
|
||||
Instead of computing each ray of light, EEVEE uses a process called rasterization.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
Can delete Can delete `EEVEE uses a process called` since the previous sentence that EEVEE uses it.
|
||||
Rasterization estimates the way light interacts with objects and materials using numerous algorithms.
|
||||
While EEVEE is designed to use :abbr:`PBR (Physically Based Rendering)` principles,
|
||||
it is not perfect and Cycles will always provide more physically accurate renders.
|
||||
Because EEVEE uses rasterization it has a large set of :doc:`limitations </render/eevee/limitations>`.
|
||||
Because EEVEE uses rasterization it has a set of :doc:`limitations </render/eevee/limitations>`.
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`a lot of` -> `many` (just a more professional style)
|
||||
.. figure:: /images/render_eevee_introduction_final-render.png
|
||||
|
||||
|
@ -9,6 +9,6 @@
|
||||
:maxdepth: 2
|
||||
|
||||
introduction.rst
|
||||
irradiance_volumes.rst
|
||||
reflection_cubemaps.rst
|
||||
reflection_planes.rst
|
||||
volume.rst
|
||||
sphere.rst
|
||||
plane.rst
|
||||
|
@ -3,10 +3,10 @@
|
||||
Introduction
|
||||
************
|
||||
|
||||
Probe objects are used by EEVEE as support objects.
|
||||
Light probe objects are used by EEVEE as support objects.
|
||||
They record lighting information locally in order to light the scene using indirect lighting.
|
||||
|
||||
There are three different probe types. One for diffuse lighting, two for specular lighting.
|
||||
There are three different types of light probes. One for diffuse lighting, two for specular lighting.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`record` -> `records`
`at different resolution` -> `at a different resolution`
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`They` -> `Probes`
|
||||
These types of objects are only useful for EEVEE (and by extension, the Material Preview mode).
|
||||
They are meant to guide the engine to compute better lighting quickly.
|
||||
|
@ -1,110 +0,0 @@
|
||||
|
||||
******************
|
||||
Irradiance Volumes
|
||||
******************
|
||||
|
||||
Diffuse indirect lighting is stored in volumetric arrays.
|
||||
These arrays are defined by the user using Irradiance Volume objects.
|
||||
They control how arrays are placed in the world as well as their resolution.
|
||||
|
||||
Lighting is computed at the dot positions visible when the Irradiance Volume object is selected.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:doc:`Indirect Lighting </render/eevee/render_settings/indirect_lighting>`.
|
||||
|
||||
If Ambient Occlusion is enabled, it will be applied onto diffuse indirect lighting.
|
||||
If both Ambient Occlusion and "Bent Normals" are enabled
|
||||
the indirect lighting will be sampled from the least occluded direction and appear more correct.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
|
||||
Distance
|
||||
A probe object only influences the lighting of nearby surfaces.
|
||||
This influence zone is defined by the Distance parameter and object scaling.
|
||||
The influence distance varies a bit, depending on the probe type.
|
||||
|
||||
For Irradiance Volumes, the influence inside the volume is always 100%.
|
||||
The influence decays only outside of the volume until
|
||||
the distance to the volume reaches the Distance parameter value (in local space).
|
||||
|
||||
Falloff
|
||||
Percentage of the influence distance during which the influence of a probe fades linearly.
|
||||
|
||||
Intensity
|
||||
Intensity factor of the recorded lighting.
|
||||
Making this parameter anything other than 1.0 is not physically correct. Use it for tweaking or artistic purposes.
|
||||
|
||||
Resolution
|
||||
Spatial resolution for Irradiance Volumes is determined per probe.
|
||||
The local volume is divided into a regular grid of the specified dimensions.
|
||||
One irradiance sample will be computed for each cell in this grid.
|
||||
|
||||
Clipping
|
||||
Defines the near and far clip distances when capturing the scene.
|
||||
|
||||
.. warning::
|
||||
|
||||
Clipping distances are applied at the samples positions and *not* at the grid origin.
|
||||
|
||||
Visibility Collection
|
||||
In some cases, it is useful to limit which objects appear in the light probe's captured lighting.
|
||||
For instance, an object that is too close to a capture point might be better excluded.
|
||||
This is what the visibility collection does.
|
||||
Only objects that are in this collection will be visible when this probes captures the scene.
|
||||
|
||||
There is also an option to invert this behavior and effectively hide the objects in this collection.
|
||||
|
||||
.. note::
|
||||
|
||||
This is only a filtering option. That means that if an object is not visible at render time
|
||||
it won't be visible during the probe render.
|
||||
|
||||
|
||||
Visibility
|
||||
==========
|
||||
|
||||
For every grid point a small Variance Shadow Map is rendered.
|
||||
This visibility cubemap is used to reduce light leaking behind occluders.
|
||||
You can tweak the size of this map inside the render settings and
|
||||
tweak the bias and blur factors per grid inside the Probe Properties tab.
|
||||
|
||||
Bias
|
||||
Reduces self-shadowing.
|
||||
|
||||
Bleed Bias
|
||||
Increases the "contrast" of the depth test result.
|
||||
|
||||
Blur
|
||||
Amount of blur to apply when filtering the visibility shadow map.
|
||||
Does not increase runtime cost but has a small effect on baking time.
|
||||
|
||||
|
||||
Blending
|
||||
========
|
||||
|
||||
The lighting values from an Irradiance Volume will fade outwards until the volume bounds are reached.
|
||||
They will fade into the world's lighting or another Irradiance Volume's lighting.
|
||||
|
||||
If multiple Irradiance Volumes overlap, smaller (in volume) ones will always have more priority.
|
||||
|
||||
If an object is not inside any Irradiance Volume, or if the indirect lighting has not been baked,
|
||||
the world's diffuse lighting will be used to shade it.
|
||||
|
||||
.. tip::
|
||||
|
||||
- When lighting indoor environments, try to align grids with the room shape.
|
||||
- Try not to put too much resolution in empty areas or areas with a low amount of lighting variation.
|
||||
- You can fix bad samples by adding a smaller grid near the problematic area.
|
||||
|
||||
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.
|
||||
|
||||
Clipping
|
||||
Show the clipping distance in the 3D Viewport.
|
62
manual/render/eevee/light_probes/plane.rst
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
******************
|
||||
Light Probe Planes
|
||||
******************
|
||||
|
||||
These special types of light probe object are suited to smooth planar surfaces.
|
||||
They basically capture the scene with a flipped camera.
|
||||
|
||||
Using planar light probes adds more render time as the scene needs to be rendered as many times as
|
||||
there are light probe planes in the view.
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`probes increases` -> `probe increases`
|
||||
Light probe planes only work when ray tracing method is set to `Screen-Trace`. If ray tracing
|
||||
is enabled, light probe planes will serve as support buffers. This accelerates the tracing process
|
||||
and completes the missing data from the view space. This also make reflection more correct for the
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`when ray tracing method` -> `when the ray tracing method`
|
||||
affected surfaces that have medium roughness and disturbed normals (i.e. normal maps).
|
||||
|
||||
.. note::
|
||||
|
||||
Reflections and Volumetrics are not supported inside Light probe planes.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
Maybe Maybe `Volumetrics` shouldn't be capitalized?
|
||||
|
||||
|
||||
Placement
|
||||
=========
|
||||
|
||||
If Backface Culling is not enabled, snapping the light probe plane to the planar surface
|
||||
will effectively capture the underside of the surface.
|
||||
|
||||
You can manually move the light probe plane above the surface enough for it to not appear in the capture.
|
||||
Alternatively you can disable the light probe visibility in the object panel.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
|
||||
Clipping Offset
|
||||
Define how much below the plane the near clip is when capturing the scene.
|
||||
Increasing this can fix reflection contact problems.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`Distance` -> `distance`
`object scaling` -> `the object's scale`
|
||||
|
||||
Distance
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`For light probe planes` -> `For light probe planes,`
|
||||
A probe object only influences the lighting of nearby surfaces.
|
||||
This influence zone is defined by the Distance parameter and object scaling.
|
||||
The influence distance varies is a bit, depending on the probe type.
|
||||
|
||||
For light probe planes the influence distance is the distance from the plane.
|
||||
Only surfaces whose normals are aligned with the Reflection Plane will receive the captured reflection.
|
||||
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`how much below` -> `how far below`
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Viewport Display`
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport.
|
||||
|
||||
Arrow Size
|
||||
Size of the arrow showing the reflection plane normal.
|
||||
|
||||
Show Preview Plane
|
||||
Show the captured reflected image onto a fully reflective plane in the 3D Viewport.
|
@ -1,94 +0,0 @@
|
||||
|
||||
*******************
|
||||
Reflection Cubemaps
|
||||
*******************
|
||||
|
||||
Specular Indirect Lighting is stored in an array of cubemaps. These are defined by the Reflection Cubemap objects.
|
||||
They specify where to sample the scene's lighting and where to apply it.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:doc:`Indirect Lighting </render/eevee/render_settings/indirect_lighting>`.
|
||||
|
||||
*Screen Space Reflections* are much more precise than reflection cubemaps.
|
||||
If enabled, they have priority and cubemaps are used as a fall back if a ray misses.
|
||||
|
||||
If *Ambient Occlusion* is enabled, it will be applied in a physically plausible manner to specular indirect lighting.
|
||||
|
||||
.. note::
|
||||
|
||||
The cube probes are encoded into tetrahedral maps. Some distortions may occur on the negative Z hemisphere.
|
||||
Those are more visible with higher roughness values.
|
||||
|
||||
|
||||
Blending
|
||||
========
|
||||
|
||||
The lighting values from a Reflection Cubemap will fade outwards until the volume bounds are reached.
|
||||
They will fade into the world's lighting or another Reflection Cubemap's lighting.
|
||||
If multiple Reflection Cubemaps overlap, smaller (in volume) ones will always have more priority.
|
||||
If an object is not inside any Reflection Cubemap influence,
|
||||
or if the indirect lighting has not been baked, the world's cubemap will be used to shade it.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
|
||||
Distance
|
||||
A probe object only influences the lighting of nearby surfaces.
|
||||
This influence zone is defined by the Distance parameter and object scaling.
|
||||
The influence distance varies is a bit, depending on the probe type.
|
||||
|
||||
For Reflection Cubemaps the influence volume can either be a box or a sphere centered on the probe's origin.
|
||||
|
||||
Falloff
|
||||
Percentage of the influence distance during which the influence of a probe fades linearly.
|
||||
|
||||
Intensity
|
||||
Intensity factor of the recorded lighting.
|
||||
Making this parameter anything other than 1.0 is not physically correct.
|
||||
Use it for tweaking or artistic purposes.
|
||||
|
||||
Clipping
|
||||
Define the near and far clip distances when capturing the scene.
|
||||
|
||||
Visibility Collection
|
||||
Sometimes, it is useful to limit which objects appear in the light probe's captured lighting.
|
||||
For instance, an object that is too close to a capture point might be better excluded.
|
||||
This is what the visibility collection does.
|
||||
Only objects that are in this collection will be visible when this probe will capture the scene.
|
||||
|
||||
There is also an option to invert this behavior and effectively hide the objects inside this collection.
|
||||
|
||||
.. note::
|
||||
|
||||
This is only a filtering option.
|
||||
That means if an object is not visible at render time it won't be visible during the probe render.
|
||||
|
||||
|
||||
Custom Parallax
|
||||
===============
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Custom Parallax`
|
||||
|
||||
By default, the influence volume is also the parallax volume.
|
||||
The parallax volume is a volume on which is projected the recorded lighting.
|
||||
It should roughly fit it surrounding area. In some cases it may be better to
|
||||
adjust the parallax volume without touching the influence parameters.
|
||||
In this case, just enable the *Custom Parallax* and
|
||||
change the shape and distance of the parallax volume independently.
|
||||
|
||||
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.
|
||||
|
||||
Clipping
|
||||
Show the clipping distance in the 3D Viewport.
|
||||
|
||||
Parallax
|
||||
Show the *Custom Parallax* shape in the 3D Viewport.
|
@ -1,88 +0,0 @@
|
||||
|
||||
*****************
|
||||
Reflection Planes
|
||||
*****************
|
||||
|
||||
These special types of Probe object are suited to smooth planar surfaces.
|
||||
They basically capture the whole scene with a flipped camera.
|
||||
|
||||
Using reflection planes is really heavy on the render time
|
||||
because the scene needs to be rendered as many times as there is Reflection Planes in the view.
|
||||
|
||||
Unless Screen Space Reflection is enabled,
|
||||
Reflection Planes only work on specular surfaces that have their roughness around 0.
|
||||
|
||||
If Screen Space Reflection is enabled, Reflection Planes will serve as support buffers.
|
||||
This accelerates the tracing process and completes the missing data from the view space.
|
||||
This also make reflection more correct for the affected surfaces that have medium roughness and
|
||||
disturbed normals (i.e. normal maps).
|
||||
|
||||
.. note::
|
||||
|
||||
Subsurface Scattering, Screen Space Reflections and
|
||||
Volumetrics are not supported inside Reflection Plane's reflection.
|
||||
|
||||
|
||||
Placement
|
||||
=========
|
||||
|
||||
If Backface Culling is not enabled, snapping the Reflection Plane to the planar surface
|
||||
will effectively capture the underside of the surface.
|
||||
|
||||
You can manually move the Reflection Plane above the surface enough for it to not appear in the capture.
|
||||
Alternatively you can put a floor object inside a collection and
|
||||
use this collection as a Visibility Collection (inverted) inside the Reflection Plane's probe settings.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
|
||||
Distance
|
||||
A probe object only influences the lighting of nearby surfaces.
|
||||
This influence zone is defined by the Distance parameter and object scaling.
|
||||
The influence distance varies is a bit, depending on the probe type.
|
||||
|
||||
For Reflection Planes the influence distance is the distance from the plane.
|
||||
Only surfaces whose normals are aligned with the Reflection Plane will receive the captured reflection.
|
||||
|
||||
Falloff
|
||||
Percentage of the influence distance during which the influence of a probe fades linearly.
|
||||
Also defines how much shading normals needs to be aligned with the plane to receive reflections.
|
||||
|
||||
Clipping Offset
|
||||
Define how much below the plane the near clip is when capturing the scene.
|
||||
Increasing this can fix reflection contact problems.
|
||||
|
||||
Visibility Collection
|
||||
In some cases, it is useful to limit which objects appear in the light probe's captured lighting.
|
||||
For instance, an object that is too close to a capture point might be better excluded.
|
||||
This is what the visibility collection does.
|
||||
Only objects that are in this collection will be visible when this probe will capture the scene.
|
||||
|
||||
There is also an option to invert this behavior and effectively hide the objects inside this collection.
|
||||
|
||||
.. note::
|
||||
|
||||
This is only a filtering option.
|
||||
That means that if an object is not visible at render time it won't be visible during the probe render.
|
||||
|
||||
.. note::
|
||||
|
||||
Due to a limitation, dupli-objects cannot be hidden by using this option.
|
||||
|
||||
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Viewport Display`
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport.
|
||||
|
||||
Arrow Size
|
||||
Size of the arrow showing the reflection plane normal.
|
||||
|
||||
Show Preview Plane
|
||||
Show the captured reflected image onto a fully reflective plane in the 3D Viewport.
|
64
manual/render/eevee/light_probes/sphere.rst
Normal file
@ -0,0 +1,64 @@
|
||||
|
||||
******************
|
||||
Light Probe Sphere
|
||||
******************
|
||||
|
||||
Specular Indirect Lighting can be stored in a light probe sphere.
|
||||
|
||||
.. seealso::
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`They then` -> `Sphere probes`
|
||||
:doc:`Indirect Lighting </render/eevee/render_settings/light_probes>`.
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`fall back` -> `fallback`
|
||||
*Ray traced reflections* are more precise than spherical light probes.
|
||||
If enabled, they have priority and spherical light probes are used as a fall back if a ray misses.
|
||||
|
||||
.. note::
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`In both usage` -> `In both usages`
`This is to...` (missing text here)
|
||||
|
||||
Spherical light probes are encoded into tetrahedral maps. Some distortions may occur on the
|
||||
negative Z hemisphere. Those are more visible with higher roughness values.
|
||||
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`The world also have` -> `The world also has`
`which resolution` -> `with a resolution that`
|
||||
|
||||
Shape/Type
|
||||
Select the shape of the influence volume. Can be set to Sphere or Box.
|
||||
|
||||
Size
|
||||
A probe object only influences the lighting of nearby surfaces.
|
||||
This influence zone is defined by the size parameter and object scaling.
|
||||
|
||||
Falloff
|
||||
Percentage of the influence distance during which the influence of a probe fades linearly.
|
||||
|
||||
fclem marked this conversation as resolved
Hans Goudey
commented
Delete Delete `Select the`, this can just describe what the property does
|
||||
Clipping
|
||||
Define the near and far clip distances when capturing the scene.
|
||||
|
||||
|
||||
Custom Parallax
|
||||
===============
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`during` -> `in` (during is for time)
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Custom Parallax`
|
||||
|
||||
By default, the influence volume is also the parallax volume.
|
||||
The parallax volume is a volume on which the recorded light is projected.
|
||||
It should roughly fit it surrounding area. In some cases it may be better to
|
||||
adjust the parallax volume without touching the influence parameters.
|
||||
In this case, just enable the *Custom Parallax* and
|
||||
change the shape and radius of the parallax volume independently.
|
||||
|
||||
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.
|
||||
|
||||
Clipping
|
||||
Show the clipping distance in the 3D Viewport.
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`volume on which` -> `volume in which`
Clément Foucault
commented
I think this one is correct. The problem is more that we call it volume when it is actually just a shape onto which we project the lighting. I think this one is correct. The problem is more that we call it volume when it is actually just a shape onto which we project the lighting.
|
||||
Parallax
|
||||
Show the *Custom Parallax* shape in the 3D Viewport.
|
88
manual/render/eevee/light_probes/volume.rst
Normal file
@ -0,0 +1,88 @@
|
||||
|
||||
******************
|
||||
Light Probe Volume
|
||||
******************
|
||||
|
||||
Diffuse indirect lighting is stored in a light probe volume object.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`at a many` -> `at many`
|
||||
|
||||
Lighting is computed at the dot positions visible when the Irradiance Volume object is selected.
|
||||
|
||||
If an object is not inside any Irradiance Volume, or if the indirect lighting has not been baked,
|
||||
the world's diffuse lighting will be used to shade it.
|
||||
|
||||
.. tip::
|
||||
|
||||
- When lighting indoor environments, try to align grids with the room shape.
|
||||
- Try not to put too much resolution in empty areas or areas with a low amount of lighting variation.
|
||||
- You can fix bad samples by adding a smaller grid near the problematic area.
|
||||
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Object Data --> Probe`
|
||||
|
||||
Resolution
|
||||
Spatial resolution for volumetric light probes is determined per probe.
|
||||
The local volume is divided into a regular grid of the specified dimensions.
|
||||
Irradiance light sample will be computed for each cell in this grid.
|
||||
|
||||
Intensity
|
||||
Intensity factor of the recorded lighting.
|
||||
Making this parameter anything other than 1.0 is not physically correct. Use it for tweaking or
|
||||
artistic purposes.
|
||||
|
||||
Bake Samples
|
||||
Number of ray directions to evaluate when baking.
|
||||
|
||||
Surfel Density
|
||||
Number of surfels per unit distance. Higher values improves quality.
|
||||
|
||||
Capture Distance
|
||||
The maximum distance to capture light from.
|
||||
|
||||
Clamp Direct
|
||||
Clamp incoming direct light. 0.0 disables direct light clamping.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`avoids capture points` -> `avoids capturing points`
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`surface, but this` -> `surface. This`
|
||||
Clamp Indirect
|
||||
Clamp incoming indirect light. 0.0 disables indirect light clamping.
|
||||
|
||||
Normal Bias
|
||||
Offset sampling of the irradiance grid in the surface normal direction to reduce light bleeding.
|
||||
|
||||
Facing Bias
|
||||
Smoother irradiance interpolation but introduce light bleeding.
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`number of back-face was hit` -> `number of back-faces hit`
|
||||
|
||||
Capture Surface Bias
|
||||
Moves capture points position away from surfaces to avoid artifacts.
|
||||
|
||||
Capture Escape Bias
|
||||
Moves capture points outside objects.
|
||||
|
||||
Dilation Threshold
|
||||
Ratio of front-facing surface hits under which a grid sample will reuse neighbors grid sample
|
||||
lighting.
|
||||
|
||||
Dilation radius
|
||||
Radius in grid sample to search valid grid samples to copy into invalid grid samples.
|
||||
|
||||
Capture world
|
||||
Bake incoming light fromn the world, instead of just visibility, for more accurate lighting,
|
||||
but lose correct blending to surrounding irradiance volumes.
|
||||
|
||||
Capture Indirect
|
||||
Bake light bounces from light source for more accurate lighting.
|
||||
|
||||
Capture Emission
|
||||
Bake emissive surfaces for more accurate lighting.
|
||||
|
||||
|
||||
fclem marked this conversation as resolved
Hans Goudey
commented
`prevent` -> `prevents`
|
||||
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`Larger scene` -> `Larger scenes`
`or using` -> `or use`
|
||||
Viewport Display
|
||||
================
|
||||
|
||||
Influence
|
||||
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.
|
||||
|
||||
Clipping
|
||||
Show the clipping distance in the 3D Viewport.
|
@ -25,34 +25,25 @@ Cameras
|
||||
Lights
|
||||
======
|
||||
|
||||
- Only 128 active lights can be supported by EEVEE in a scene.
|
||||
- Only 8 Shadowed sun lights can be supported at the same time.
|
||||
- As of 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.
|
||||
|
||||
|
||||
Light Probes
|
||||
============
|
||||
|
||||
- EEVEE only supports up to 128 active Reflection Cubemaps.
|
||||
- EEVEE only supports up to 64 active Irradiance Volumes.
|
||||
- EEVEE only supports up to 16 active Reflection Planes inside the view frustum.
|
||||
- EEVEE supports up to 128 active light probe spheres.
|
||||
- EEVEE supports up to 16 active light probe planes inside the view frustum.
|
||||
|
||||
|
||||
Indirect Lighting
|
||||
=================
|
||||
|
||||
- Volumetrics don't receive light from Irradiance Volumes but do receive world's diffuse lighting.
|
||||
- EEVEE does not support "specular to diffuse" light bounces nor "specular to specular" light bounces.
|
||||
- All specular lighting is turned off during baking.
|
||||
|
||||
|
||||
.. _eevee-limitations-shadows:
|
||||
- Light probe capture does not support specular reflections. Specular energy is treated as diffuse.
|
||||
|
||||
Shadows
|
||||
=======
|
||||
|
||||
- Only 128 active lights can be supported by EEVEE in a scene.
|
||||
- Only 8 Shadowed sun lights can be supported at the same time.
|
||||
- See :ref:`eevee-limitations-shadows` for a detailed explanation of shadow limitations.
|
||||
|
||||
|
||||
.. _eevee-limitations-volumetrics:
|
||||
@ -62,10 +53,8 @@ Volumetrics
|
||||
|
||||
- Only single scattering is supported.
|
||||
- Volumetrics are rendered only for the camera "rays". They don't appear in reflections/refractions and probes.
|
||||
- Volumetrics don't receive light from Irradiance Volumes but do receive diffuse lighting from the world.
|
||||
- Volumetric shadowing only work in volumetrics. They won't cast shadows onto solid objects in the scene.
|
||||
- Volumetric shadowing only work for volumes inside the view frustum.
|
||||
- Volumetric lighting do not respect the lights shapes. They are treated as point lights.
|
||||
|
||||
|
||||
.. _eevee-limitations-dof:
|
||||
@ -81,7 +70,7 @@ Depth of Field
|
||||
Screen Space Effects
|
||||
====================
|
||||
|
||||
EEVEE is not a ray tracing engine and cannot do ray-triangle intersection.
|
||||
EEVEE is not a path tracing engine and cannot do ray-triangle intersection.
|
||||
Instead of this, EEVEE uses the depth buffer as an approximated scene representation.
|
||||
This reduces the complexity of scene scale effects and enables a higher performance.
|
||||
However, only what is in inside the view can be considered when computing these effects.
|
||||
@ -105,26 +94,21 @@ Ambient Occlusion
|
||||
-----------------
|
||||
|
||||
- Objects are treated as infinitely thick, producing overshadowing if the *Distance* is really large.
|
||||
- Objects are treated as uniformly thick, producing over- or under-shadowing depending on the
|
||||
thickness value.
|
||||
|
||||
|
||||
.. _eevee-limitations-reflections:
|
||||
.. _eevee-limitations-raytracing:
|
||||
|
||||
Screen Space Reflections
|
||||
------------------------
|
||||
Raytracing
|
||||
----------
|
||||
|
||||
- Only one glossy BSDF can emit screen space reflections.
|
||||
- The evaluated BSDF is currently arbitrarily chosen.
|
||||
- Screen Space Reflections will reflect transparent objects and objects using Screen Space Refraction
|
||||
but without accurate positioning due to the one layer depth buffer.
|
||||
|
||||
|
||||
.. _eevee-limitations-refraction:
|
||||
|
||||
Screen Space Refraction
|
||||
-----------------------
|
||||
|
||||
- Blended materials and materials using raytrace refractions will not appear in dithered materials.
|
||||
- Blender materials are not compatible with raytracing.
|
||||
- Only one refraction event is correctly modeled.
|
||||
- Only opaque and alpha hashed materials can be refracted.
|
||||
- Only dithered materials *not* using Raytrace Refractions can be refracted.
|
||||
|
||||
|
||||
.. _eevee-limitations-sss:
|
||||
@ -140,14 +124,6 @@ Subsurface Scattering
|
||||
leading to light leaking from surface to surface.
|
||||
|
||||
|
||||
Motion Blur
|
||||
===========
|
||||
|
||||
:doc:`Motion Blur </render/eevee/render_settings/motion_blur>`
|
||||
is only available in final renders and is not shown in the 3D Viewport
|
||||
and thus :ref:`Viewport Renders <bpy.ops.render.opengl>`.
|
||||
|
||||
|
||||
.. _eevee-limitations-materials:
|
||||
|
||||
Materials
|
||||
@ -161,14 +137,8 @@ Refractions
|
||||
Using Screen Space refraction will refract what is visible inside the view,
|
||||
and use the nearest probe if there is no hit.
|
||||
|
||||
Screen Space Reflections and Ambient Occlusion are not compatible with Screen Space Refraction;
|
||||
they will be disabled on the surfaces that use it.
|
||||
Surfaces that use Screen Space Refraction will not appear in Screen Space Reflections at the right place.
|
||||
Surfaces that use Screen Space Refraction will not cast Ambient Occlusion onto other surfaces.
|
||||
|
||||
Volume Objects
|
||||
Object volume shaders will affect the whole bounding box of the object.
|
||||
The shape of the volume must be adjusted using procedural texturing inside the shader.
|
||||
Surfaces that use raytrace refraction will not cast ambient occlusion onto other materials not
|
||||
using this option.
|
||||
|
||||
|
||||
Shader Nodes
|
||||
@ -221,4 +191,4 @@ multiple :abbr:`GPU (Graphic Processing Unit, also known as Graphics Card)` syst
|
||||
Headless Rendering
|
||||
==================
|
||||
|
||||
There is currently no support for using EEVEE on headless systems (i.e. without a Display Manager).
|
||||
Headless rendering is not supported on headless Windows systems.
|
||||
|
12
manual/render/eevee/limitations_shadow.rst
Normal file
@ -0,0 +1,12 @@
|
||||
.. _eevee-limitations-shadows:
|
||||
|
||||
******************
|
||||
Limitations shadow
|
||||
******************
|
||||
|
||||
.. todo::
|
||||
|
||||
This section still needs to be written. Explaining the limitations of the SVM shadowing
|
||||
algorithm.
|
||||
|
||||
|
@ -12,14 +12,3 @@ Nodes Support
|
||||
Due to realtime constraints, not all Cycles features are available in EEVEE.
|
||||
See :doc:`/render/eevee/materials/nodes_support`.
|
||||
|
||||
|
||||
Performance
|
||||
===========
|
||||
|
||||
Performance is highly dependent on the number of BSDF nodes present in the node tree.
|
||||
|
||||
.. tip::
|
||||
|
||||
Prefer using the Principled BSDF instead of multiple BSDF nodes because EEVEE is optimized for it.
|
||||
|
||||
.. seealso:: :ref:`Limitations <eevee-limitations-materials>`.
|
||||
|
@ -51,24 +51,18 @@ Although most BSDFs are supported, many of them are approximations and are not f
|
||||
Diffuse BSDF
|
||||
Roughness is not supported. Only Lambertian diffusion is supported.
|
||||
|
||||
Emission
|
||||
Treated as indirect lighting and will only show up in :abbr:`SSR (Screen Space Reflection)`\ s and Probes.
|
||||
|
||||
Glass / Refraction BSDF
|
||||
Does not refract lights. Does not support Beckmann distribution.
|
||||
See :ref:`Refraction limitations <eevee-limitations-refraction>`.
|
||||
Does not refract lights objects. Does not support Beckmann distribution.
|
||||
See :ref:`Raytracing limitations <eevee-limitations-raytracing>`.
|
||||
|
||||
Glossy BSDF
|
||||
Does not support Beckmann and Ashikhmin-Shirley distributions.
|
||||
|
||||
Subsurface Scattering
|
||||
Random Walk sampling is not supported. Per color channel Radius is specified by the default socket value.
|
||||
Any link plugged into this socket gets ignored.
|
||||
Texture Blur is not accurate for any value other than 0.0 and 1.0.
|
||||
Random Walk sampling, IOR and Anisotropic are not supported.
|
||||
|
||||
Transparent BSDF
|
||||
Transparency will only have an effect if the Material blend mode is not Opaque.
|
||||
Colored and additive transparency are only compatible with "Alpha Blend" mode.
|
||||
Colored and additive transparency are only compatible with blended modes.
|
||||
|
||||
Translucent BSDF
|
||||
Does not diffuse the light inside the object. It only lights the object with reversed normals.
|
||||
@ -89,8 +83,7 @@ Principled Volume
|
||||
Same as Volume Scatter. See :ref:`Volume Limitation <eevee-limitations-volumetrics>`.
|
||||
|
||||
Holdout
|
||||
Partially supported, using :ref:`Blend Modes <bpy.types.Material.blend_method>`
|
||||
other than *Alpha* may give incorrect results.
|
||||
Partially supported, using dithered mode may give incorrect results.
|
||||
|
||||
Anisotropic BSDF
|
||||
Not supported.
|
||||
@ -114,9 +107,6 @@ Input Nodes
|
||||
Ambient Occlusion
|
||||
The *Only Local* option is not supported.
|
||||
|
||||
Camera Data
|
||||
EveHair Inforything is compatible.
|
||||
|
||||
Geometry
|
||||
Pointiness is not supported.
|
||||
|
||||
@ -132,37 +122,26 @@ Attribute
|
||||
Bevel
|
||||
Not supported.
|
||||
|
||||
Fresnel
|
||||
Everything is compatible.
|
||||
|
||||
Curves Info
|
||||
The Random output uses a different :abbr:`RNG (Random Number Generator)` algorithm.
|
||||
Range and statistical distribution of the values should be the same but the values will be different.
|
||||
|
||||
Layer Weight
|
||||
Everything is compatible.
|
||||
|
||||
Light Path
|
||||
EEVEE has no real concept of rays. But in order to ease the workflow between Cycles and EEVEE
|
||||
some of the outputs are only supported in particular cases.
|
||||
This node makes it possible to tweak indirect lighting in the shader.
|
||||
|
||||
Only a subset of the outputs are supported and the ray depth does not exactly have the same meaning.
|
||||
In order for the *Is Camera*, *Is Shadow*, *Is Diffuse*, and *Is Glossy* outputs to work,
|
||||
the object must be inside an :doc:`Irradiance Volume </render/eevee/light_probes/irradiance_volumes>`
|
||||
and :doc:`/render/eevee/render_settings/indirect_lighting` must be baked.
|
||||
|
||||
- *Is Camera*: Supported.
|
||||
- *Is Shadow*: Supported.
|
||||
- *Is Diffuse*: Supported.
|
||||
- *Is Glossy*: Supported.
|
||||
- *Is Diffuse*: Set to 1.0 when baking light probe volume. Otherwise is set to 0.0.
|
||||
- *Is Glossy*: Set to 1.0 when baking light probe sphere or plane. Otherwise is set to 0.0.
|
||||
- *Is Singular*: Not supported. Same as Is Glossy.
|
||||
- *Is Reflection*: Not supported. Same as Is Glossy.
|
||||
- *Is Transmission*: Not supported. Same as Is Glossy.
|
||||
- *Ray Length*: Not supported. Defaults to 1.0.
|
||||
- *Ray Depth*: Indicates the current bounce when baking the light cache.
|
||||
- *Diffuse Depth*: Same as Ray Depth but only when baking diffuse light.
|
||||
- *Glossy Depth*: Same as Ray Depth but only when baking specular light.
|
||||
- *Ray Depth*: Not supported. Defaults to 0.0.
|
||||
- *Diffuse Depth*: Partially supported. Set to 1.0 when baking light probe volume. Otherwise is set to 0.0.
|
||||
- *Glossy Depth*: Partially supported. Set to 1.0 when baking light probe sphere or plane. Otherwise is set to 0.0.
|
||||
- *Transparent Depth*: Not supported. Defaults to 0.
|
||||
- *Transmission Depth*: Not supported. Same as Glossy Depth.
|
||||
|
||||
@ -171,15 +150,9 @@ Light Path
|
||||
*Is Glossy* does not work with Screen Space Reflections/Refractions
|
||||
but does work with reflection planes (whether used with SSR or not).
|
||||
|
||||
Object Info
|
||||
Everything is compatible.
|
||||
|
||||
Particle Info
|
||||
Not supported.
|
||||
|
||||
Tangent
|
||||
Everything is compatible.
|
||||
|
||||
Texture Coordinate
|
||||
*From Instancer* is not supported.
|
||||
|
||||
@ -218,12 +191,3 @@ Other Nodes
|
||||
|
||||
Light Falloff
|
||||
Not supported.
|
||||
|
||||
Bump
|
||||
Imprecision due to less precise derivatives.
|
||||
|
||||
Displacement/Vector Displacement
|
||||
Not supported.
|
||||
|
||||
Material Output
|
||||
Displacement output behavior is broken compared to Cycles.
|
||||
|
@ -7,157 +7,6 @@ Material Settings
|
||||
|
||||
:Panel: :menuselection:`Properties --> Material --> Settings`
|
||||
|
||||
|
||||
.. _bpy.types.Material.use_backface_culling:
|
||||
|
||||
Backface Culling
|
||||
================
|
||||
|
||||
Backface Culling hides the back side of faces.
|
||||
|
||||
|
||||
.. _bpy.types.Material.blend_method:
|
||||
|
||||
Blend Mode
|
||||
==========
|
||||
|
||||
After calculating the color of a surface, the blend mode defines how it is added to the color buffer.
|
||||
Depending on this, the final color will be different.
|
||||
|
||||
.. note::
|
||||
|
||||
Alpha Blending is considered a "Transparent" blend mode
|
||||
and has implications regarding screen space effects.
|
||||
|
||||
Opaque
|
||||
The previous color will be overwritten by the surface color.
|
||||
The alpha component is ignored. This is the fastest option.
|
||||
|
||||
Alpha Clip
|
||||
The previous color will be overwritten by the surface color,
|
||||
but only if the alpha value is above the *Clip Threshold* value.
|
||||
|
||||
Alpha Hashed
|
||||
The previous color will be overwritten by the surface color,
|
||||
but only if the alpha value is above a random clip threshold.
|
||||
This statistical approach is noisy but is able to approximate alpha blending without any sorting problem.
|
||||
Increasing the sample count in the render settings will reduce the resulting noise.
|
||||
|
||||
Alpha Blending
|
||||
Use alpha blending to overlay the surface color on top of the previous color.
|
||||
|
||||
|
||||
Sorting Problem
|
||||
---------------
|
||||
|
||||
When writing to the color buffer using transparent blend modes,
|
||||
the order in which the color blending happens is important as it can change the final output color.
|
||||
As of now EEVEE does not support per-fragment (pixel) sorting or per-triangle sorting.
|
||||
Only per-object sorting is available and is automatically done on all transparent surfaces based on object origin.
|
||||
|
||||
.. note::
|
||||
|
||||
Per-object sorting has a performance cost and having thousands of
|
||||
these objects in a scene will greatly degrade performance.
|
||||
|
||||
.. _bpy.types.Material.show_transparent_back:
|
||||
|
||||
Show Backface
|
||||
If enabled, all transparent fragments will be rendered.
|
||||
If disabled, only the front-most surface fragments will be rendered.
|
||||
Disable this option to ensure correct appearance of transparency from any point of view.
|
||||
When using *Alpha Blending* this option should be disabled because with *Alpha Blending*,
|
||||
the order in which triangles are sorted is important.
|
||||
|
||||
|
||||
.. _bpy.types.Material.shadow_method:
|
||||
|
||||
Shadow Mode
|
||||
===========
|
||||
|
||||
Type of shadows used for a transparent surface.
|
||||
EEVEE does not support colored shadow maps.
|
||||
|
||||
Half transparent shadows can be produced by using hashed transparent shadows and
|
||||
a larger Soft value on the shadow map.
|
||||
|
||||
.. note::
|
||||
|
||||
This option does not change the behavior of contact shadows which are traced using the depth buffer.
|
||||
If the material is writing to the depth buffer
|
||||
(in other words, if the blend mode is set to either *Opaque*, *Alpha Clip* or *Alpha Hashed*),
|
||||
contact shadows will be cast by the surface material regardless of the *Transparent Shadow* type.
|
||||
|
||||
None
|
||||
The surface will not cast any shadow.
|
||||
|
||||
Opaque
|
||||
The surface will cast shadows like an opaque surface.
|
||||
|
||||
Alpha Clip
|
||||
The surface will cast shadows like an opaque surface,
|
||||
but only areas where the alpha value is above the *Clip Threshold* value.
|
||||
|
||||
Alpha Hashed
|
||||
The surface will cast shadows like an opaque surface,
|
||||
but only areas where the alpha value is above a random threshold.
|
||||
|
||||
|
||||
.. _bpy.types.Material.alpha_threshold:
|
||||
|
||||
Clip Threshold
|
||||
==============
|
||||
|
||||
Threshold value for Alpha Clip mode in *Blend Mode* and *Shadow Mode*.
|
||||
|
||||
|
||||
Screen Space Refraction
|
||||
=======================
|
||||
|
||||
Enabling Screen Space Refraction on a surface means that refraction BSDFs
|
||||
will do a ray trace against the depth buffer to find the most accurate refracted color.
|
||||
This has a big performance cost if the surface covers a lot of pixels.
|
||||
|
||||
Screen Space Reflections and Ambient Occlusion are not compatible with Screen Space Refraction.
|
||||
They will be disabled on the surfaces that use it.
|
||||
Surfaces that use Screen Space Refraction will not appear in Screen Space Reflections at the right place.
|
||||
Surfaces that use Screen Space Refraction will not cast Ambient Occlusion onto other surfaces.
|
||||
|
||||
If this option is disabled or if the Screen Space Refraction ray tracing fails,
|
||||
the refracted ray will use the color of the nearest probe.
|
||||
|
||||
.. _bpy.types.Material.use_screen_refraction:
|
||||
|
||||
Screen Space Refraction
|
||||
Enables screen space refraction.
|
||||
|
||||
.. _bpy.types.Material.refraction_depth:
|
||||
|
||||
Refraction Depth
|
||||
If Refraction Depth is not 0.0, all refraction BSDFs in the shader will act as if
|
||||
the object is a thin slab of the refraction material having this thickness.
|
||||
This will model a second refraction event that will double the absorption color and
|
||||
start the refraction ray after this second event.
|
||||
|
||||
This option greatly increases the quality of thin glass objects.
|
||||
|
||||
|
||||
.. _bpy.types.Material.use_sss_translucency:
|
||||
|
||||
Subsurface Translucency
|
||||
=======================
|
||||
|
||||
EEVEE's Subsurface Scattering algorithm works by blurring the irradiance in screen space.
|
||||
This means that if no visible part of the surface is lit, the effect disappears.
|
||||
|
||||
However, true Subsurface Scattering goes beneath the surface and can travel a large distance.
|
||||
This is why a human ear lit from behind appears red on the front side.
|
||||
|
||||
That is what this effect mimics. This translucency approximation only works
|
||||
with lights that have shadow maps and only on Subsurface BSDFs (not the Translucency BSDFs).
|
||||
It does not work with indirect lighting. The soft parameter of the shadow maps also affects this effect.
|
||||
|
||||
|
||||
Pass Index
|
||||
==========
|
||||
|
||||
@ -168,3 +17,69 @@ the :doc:`ID Mask Node </compositing/types/mask/id_mask>` in the Compositor.
|
||||
.. note::
|
||||
|
||||
:doc:`Volume Objects </modeling/volumes/introduction>` are not supported.
|
||||
|
||||
|
||||
.. _bpy.types.Material.surface:
|
||||
|
||||
Surface
|
||||
=======
|
||||
|
||||
Backface Culling
|
||||
Backface Culling hides the back side of faces.
|
||||
|
||||
Camera
|
||||
Use back face culling to hide the back side of the face.
|
||||
|
||||
Shadow
|
||||
Use back face culling when casting shadows.
|
||||
|
||||
Max Displacement
|
||||
The maximum distance a vertex can be displaced. Displacements over this threshold may cause
|
||||
visibility issues.
|
||||
|
||||
Transparent shadows
|
||||
Use transparent shadows for this material if it contains a Transparent BSDF, Disabling will
|
||||
render faster but not give accurate shadows.
|
||||
|
||||
.. _bpy.types.Material.render_method:
|
||||
|
||||
Render Method
|
||||
Controls the blending and the compatibility with certain features.
|
||||
|
||||
:Dithered:
|
||||
Allows for grayscale hashed transparency, and compatible with render passes and raytracing.
|
||||
Also know as deferred rendering.
|
||||
|
||||
:Blended:
|
||||
Allows the colored transparency, but incompatible with render passes and raytracing. Also
|
||||
known as forward rendering.
|
||||
|
||||
Transparency Overlap
|
||||
Render multiple transparent layers. May introduce transparency sorting problems.
|
||||
|
||||
Light Probe Volume
|
||||
Single Sided
|
||||
Consider materials single sided for light probe volume captures. Additionally helps rejecting
|
||||
inside the object, to avoid light leaking.
|
||||
|
||||
|
||||
.. _bpy.types.Material.volume:
|
||||
|
||||
Volume
|
||||
======
|
||||
|
||||
Intersection
|
||||
Determines which inner part of the mesh will produce volumetric effect.
|
||||
|
||||
:Fast:
|
||||
Each gace is considered as a medium interface. Gives correct results for manifold geometry
|
||||
that contains no inner part.
|
||||
|
||||
:Accurate:
|
||||
Faces are considered as medium interface only when they have different consecutive facing.
|
||||
Gives correct results as long as the max ray depth is not exceeded. Has significant memory
|
||||
overhead compared to the fast method.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,40 +0,0 @@
|
||||
.. _bpy.types.SceneEEVEE.gtao:
|
||||
|
||||
*****************
|
||||
Ambient Occlusion
|
||||
*****************
|
||||
|
||||
Ambient occlusion is computed using :abbr:`GTAO (Ground Truth Ambient Occlusion)` and applied to indirect lighting.
|
||||
The bent normal option will make the diffuse lighting come from only the least occluded direction.
|
||||
|
||||
Ambient occlusion can be rendered as a separate pass in the Render Layers panel.
|
||||
|
||||
.. note::
|
||||
|
||||
This effect needs to be enabled for the :doc:`Ambient Occlusion </render/shader_nodes/input/ao>` node to work.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Ambient Occlusion`
|
||||
|
||||
Distance
|
||||
Distance of object that contributes to the ambient occlusion effect.
|
||||
|
||||
Factor
|
||||
Blend factor for the ambient occlusion effect.
|
||||
|
||||
Trace Precision
|
||||
Increases precision of the effect but introduces more noise and lowers the maximum trace distance.
|
||||
Increased precision also increases the performance cost.
|
||||
Lower precision will also miss occluders and lead to undershadowing.
|
||||
|
||||
Bent Normals
|
||||
Compute the least occluded direction.
|
||||
This direction can be used to sample the diffuse irradiance in a more realistic way.
|
||||
|
||||
Bounce Approximation
|
||||
An approximation to simulate light bounces giving less occlusion on brighter objects.
|
||||
It only takes into account the surface color and not its surroundings.
|
||||
This is not applied to the ambient occlusion pass.
|
||||
|
||||
.. seealso:: :ref:`Limitations <eevee-limitations-ao>`.
|
@ -1,30 +0,0 @@
|
||||
.. _bpy.types.SceneEEVEE.bloom:
|
||||
|
||||
*****
|
||||
Bloom
|
||||
*****
|
||||
|
||||
Bloom is a post-process effect that diffuses very bright pixels. This mimics lens artifacts of real cameras.
|
||||
This allows a better sense of what the actual intensities of the pixels are.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Bloom`
|
||||
|
||||
Threshold
|
||||
Filters out pixels under this level of brightness.
|
||||
|
||||
Knee
|
||||
Makes transition between under/over-threshold gradual.
|
||||
|
||||
Radius
|
||||
Bloom spread distance.
|
||||
|
||||
Color
|
||||
Color applied to the bloom effect.
|
||||
|
||||
Intensity
|
||||
Blend factor.
|
||||
|
||||
Clamp
|
||||
Maximum intensity a bloom pixel can have.
|
@ -48,14 +48,6 @@ Neighbor Rejection
|
||||
Lower values will improve the performance but will also reduce the quality of highlights.
|
||||
Brightness is in the scene's referred color space.
|
||||
|
||||
Denoise Amount
|
||||
This will reduce the flickering by clamping the color of
|
||||
each pixels to their neighborhood's average instead of their maximum.
|
||||
Higher values gives more stable results but may darken the scene.
|
||||
|
||||
High Quality Slight Defocus
|
||||
Increase the quality of almost in-focus regions.
|
||||
|
||||
Jitter Camera
|
||||
Randomize the camera position for every scene render sample to increase precision.
|
||||
Enabling this option can change the scene's actual sample count.
|
||||
|
18
manual/render/eevee/render_settings/horizon_scan.rst
Normal file
@ -0,0 +1,18 @@
|
||||
************
|
||||
Horizon Scan
|
||||
************
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Horizon Scan`
|
||||
|
||||
Precision
|
||||
Precision of the horizon scan.
|
||||
|
||||
Thickness
|
||||
Constant thickness of the surfaces considered when doing horizon scan and by extension ambient
|
||||
occlusion.
|
||||
|
||||
Bias
|
||||
Bias the horozon angles to reduce self intersection artifacts.
|
||||
|
@ -8,16 +8,15 @@
|
||||
:maxdepth: 2
|
||||
|
||||
sampling.rst
|
||||
grease_pencil.rst
|
||||
ambient_occlusion.rst
|
||||
bloom.rst
|
||||
depth_of_field.rst
|
||||
subsurface_scattering.rst
|
||||
screen_space_reflections.rst
|
||||
motion_blur
|
||||
volumetrics.rst
|
||||
horizon_scan.rst
|
||||
raytracing.rst
|
||||
volumes.rst
|
||||
performance.rst
|
||||
hair.rst
|
||||
curves.rst
|
||||
lights.rst
|
||||
shadows.rst
|
||||
indirect_lighting.rst
|
||||
light_probes.rst
|
||||
film.rst
|
||||
motion_blur.rst
|
||||
grease_pencil.rst
|
||||
|
@ -1,73 +0,0 @@
|
||||
.. _bpy.ops.scene.light_cache:
|
||||
.. _bpy.types.SceneEEVEE.gi:
|
||||
|
||||
*****************
|
||||
Indirect Lighting
|
||||
*****************
|
||||
|
||||
While not strictly correct, all lighting that is not coming straight out
|
||||
from a light object is considered as indirect lighting in EEVEE.
|
||||
That means distant :term:`HDRI` lighting (or World) is considered as indirect lighting.
|
||||
Mesh objects using an Emission node are also considered as indirect lighting.
|
||||
|
||||
In EEVEE, indirect lighting is separated into two component: Diffuse and Specular.
|
||||
Both have different needs and representation. For efficiency,
|
||||
the indirect lighting data is precomputed on demand into a static lighting cache.
|
||||
|
||||
As of now the light cache is static and needs to be computed before rendering.
|
||||
It cannot be updated per frame (unless via scripting).
|
||||
This limitation is being worked on and will be removed in future versions.
|
||||
|
||||
Only view independent lighting can be baked. This is why Reflection Planes are not stored inside the light cache.
|
||||
|
||||
The visibility and collections used during the baking process are the ones in the current Active View Layer.
|
||||
|
||||
To enable light bounces through large environments, the light baking process can be run multiple times
|
||||
while injecting the previous bake result into the bake.
|
||||
|
||||
Light bounces only concerns diffuse lighting.
|
||||
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Indirect Lighting`
|
||||
|
||||
Auto Bake
|
||||
Enabling this option will trigger baking when a probe is changed; useful when positioning probes objects.
|
||||
|
||||
Diffuse Bounces
|
||||
Number of bounces to compute when baking the diffuse irradiance.
|
||||
Total baking time is more or less multiplied by the number of bounce.
|
||||
|
||||
Cubemap Size
|
||||
Size of the reflection cubemaps.
|
||||
|
||||
Diffuse Occlusion
|
||||
Each irradiance sample also stores a shadow map that is used to minimize indirect light leaking.
|
||||
This parameter defines the size of this shadow map.
|
||||
|
||||
Irradiance Smoothing
|
||||
Smooths irradiance interpolation but introduces light bleeding.
|
||||
The irradiance visibility term can make the lighting not interpolate smoothly on some surfaces.
|
||||
This setting relaxes the weight of that interpolation.
|
||||
|
||||
Clamp Glossy
|
||||
Clamp pixel intensity to reduce noise inside glossy reflections from reflection cubemaps (0 is disabled).
|
||||
|
||||
Filter Quality
|
||||
Takes more samples during cubemap filtering to remove artifacts. For now, this only has an effect on cubemaps.
|
||||
|
||||
|
||||
Display
|
||||
=======
|
||||
|
||||
Cubemap Size
|
||||
Display the Reflection Cubemaps present in the cache directly in the 3D Viewport.
|
||||
|
||||
Irradiance Size
|
||||
Display the Irradiance Samples present in the cache in the 3D Viewport.
|
||||
|
||||
.. note::
|
||||
|
||||
Cache data display only works in the 3D Viewport and
|
||||
only if the viewport uses world lighting in Material Preview or Rendered mode.
|
35
manual/render/eevee/render_settings/light_probes.rst
Normal file
@ -0,0 +1,35 @@
|
||||
.. _bpy.ops.scene.light_cache:
|
||||
.. _bpy.types.SceneEEVEE.gi:
|
||||
|
||||
************
|
||||
Light Probes
|
||||
************
|
||||
|
||||
While not strictly correct, all lighting that is not coming straight out
|
||||
from a light object is considered as indirect lighting in EEVEE.
|
||||
That means distant :term:`HDRI` lighting (or World) is considered as indirect lighting.
|
||||
|
||||
In EEVEE, indirect lighting is separated into two component: Diffuse and Specular.
|
||||
Both have different needs and representation. For efficiency,
|
||||
the diffuse indirect lighting data is precomputed on demand into a static lighting cache.
|
||||
|
||||
As of now the diffuse light cache is static and needs to be computed before rendering.
|
||||
It cannot be updated per frame (unless via scripting).
|
||||
This limitation is being worked on and will be removed in future versions.
|
||||
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Light Probes`
|
||||
|
||||
Sphere
|
||||
======
|
||||
Resolution
|
||||
Resolution when using Light Probe Spheres.
|
||||
|
||||
Volume
|
||||
======
|
||||
|
||||
Pool Size
|
||||
Size of the irradiance pool, a bigger pool size allows for more irradiance grid in the scene,
|
||||
but might not fit into GPU memory and decreases performance.
|
10
manual/render/eevee/render_settings/lights.rst
Normal file
@ -0,0 +1,10 @@
|
||||
******
|
||||
Lights
|
||||
******
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Lights`
|
||||
|
||||
Light Threshold
|
||||
Minimum light intensity for a light to contribute to the lighting.
|
@ -35,33 +35,6 @@ Background Separation
|
||||
Used by the post-process blur to avoid blurring the background over the foreground.
|
||||
Lower values will reduce background bleeding onto foreground elements.
|
||||
|
||||
Max Blur
|
||||
Maximum blur distance a pixel can spread over.
|
||||
A value of 0 will disable the post-process blur and only use the accumulation blur.
|
||||
|
||||
.. note::
|
||||
|
||||
High maximum blur values may also reduce the quality.
|
||||
|
||||
EEVEE uses a fast post-process vector blur using a vector motion pass.
|
||||
This blurs the image between three time steps using pixel velocity.
|
||||
This technique is fast and produces clean gradients, but issues can occur at object borders
|
||||
or if the motion is locally too complex;
|
||||
for example, if there are many vector variations in a small area.
|
||||
|
||||
This technique uses random sampling and the noise amount is proportional to the sample count found in
|
||||
:menuselection:`Properties --> Render --> Sampling --> Render Samples`.
|
||||
|
||||
.. note::
|
||||
|
||||
Memory usage (VRAM) will be three times higher for objects using deformation motion blur
|
||||
if using post-process blur.
|
||||
|
||||
.. note::
|
||||
|
||||
Alpha blended surface or volumetric effects will not have the correct velocity and will not
|
||||
be correctly blurred by this technique. Use the accumulation blur for that.
|
||||
|
||||
Steps
|
||||
This controls the number of steps used by the accumulation blur and thus its accuracy.
|
||||
More steps means longer render time.
|
||||
@ -79,6 +52,9 @@ Steps
|
||||
By adding more steps you can also reduce the *Max Blur* options because the post-process blur
|
||||
has to cover a smaller distance.
|
||||
|
||||
Shutter Curve
|
||||
Use a custom shutter curve.
|
||||
|
||||
|
||||
Example
|
||||
=======
|
||||
|
@ -1,23 +1,55 @@
|
||||
.. _bpy.types.SceneEEVEE.ssr:
|
||||
.. _bpy.types.SceneEEVEE.raytracing:
|
||||
|
||||
************************
|
||||
Screen Space Reflections
|
||||
************************
|
||||
|
||||
If this effect is enabled, all Materials will use the depth buffer and
|
||||
the previous frame color to create more accurate reflection than reflection probes.
|
||||
|
||||
If a *Reflection Plane* is near a reflective surface,
|
||||
it will be used as the source for tracing rays more efficiently and fix the partial visibility problem.
|
||||
|
||||
.. figure:: /images/render_eevee_render-settings_screen-space-reflections_planar-reflection-combo.jpg
|
||||
|
||||
However, the reflected color will not contain the following effects:
|
||||
Subsurface scattering, volumetrics, screen space reflections, screen space refractions.
|
||||
**********
|
||||
Raytracing
|
||||
**********
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Screen Space Reflections`
|
||||
:Panel: :menuselection:`Render --> Raytracing`
|
||||
|
||||
Method
|
||||
Select the tracing method used to find scene-ray intersecions
|
||||
|
||||
:Screen-Trace:
|
||||
Raytrace against the depth buffer
|
||||
|
||||
:None:
|
||||
No intersection with scene geometry
|
||||
|
||||
Settings
|
||||
Split the settings per ray type (Reflection/Refraction/Diffuse)
|
||||
|
||||
:Unified:
|
||||
All the ray types use the same settings
|
||||
|
||||
fclem marked this conversation as resolved
Hans Goudey
commented
`This option is has` -> `This option has`
`but rely` -> `but relies`
|
||||
:Split:
|
||||
Settings are individual to each ray type
|
||||
|
||||
Ray Type
|
||||
========
|
||||
|
||||
When the settings are split per ray type this section will be repeated for reflection, refraction
|
||||
and diffuse rays.
|
||||
|
||||
Resolution
|
||||
Number of rays per pixel. Choice out of 1, 1/4 and 1/16 rays per pixel.
|
||||
|
||||
Clamp
|
||||
Clamp ray intensity to reduce noise. Use 0 to disable.
|
||||
|
||||
Denoising
|
||||
Denoising can be enabled to reduce noise in raytraced effects.
|
||||
|
||||
Spatial Reuse
|
||||
Reuse the rays from neighbor pixels.
|
||||
|
||||
Temporal Accumulation
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`but lowers` -> `but lower`
|
||||
Accumulate samples by reprojectiong last ray tracing results.
|
||||
|
||||
Bilateral Filter
|
||||
Blur the resolved radiance using a bilateral filter.
|
||||
|
||||
|
||||
Refractions
|
||||
Screen space refractions work the same way as screen space reflections and use the same parameters.
|
||||
@ -45,4 +77,4 @@ Edge Fading
|
||||
Clamp
|
||||
fclem marked this conversation as resolved
Hans Goudey
commented
Remove Remove `This`
|
||||
Clamp the reflected color intensity to remove noise and :term:`Fireflies`.
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`less noisy output` -> `a less noisy output`
`and capture bounce` -> `and captures bounce`
|
||||
.. seealso:: :ref:`Limitations <eevee-limitations-reflections>`.
|
||||
.. seealso:: :ref:`Limitations <eevee-limitations-raytracing>`.
|
@ -13,12 +13,20 @@ TAA is sample based so the more samples the more aliasing is reduced at the cost
|
||||
:Panel: :menuselection:`Render --> Sampling`
|
||||
|
||||
Viewport
|
||||
========
|
||||
|
||||
Samples
|
||||
The number of samples to use in the 3D Viewport.
|
||||
When setting this to zero the viewport will be resampled continuously.
|
||||
Render
|
||||
The number of samples to use in the final render.
|
||||
|
||||
.. _bpy.types.SceneEEVEE.use_taa_reprojection:
|
||||
|
||||
Viewport Denoising
|
||||
Reduces noise while moving the viewport or during animation playback.
|
||||
Temporal Reprojection
|
||||
Reduces noise while moving the viewport or during animation playback. Can leave some ghosting.
|
||||
|
||||
Render
|
||||
======
|
||||
|
||||
Samples
|
||||
The number of samples to use in the final render.
|
||||
|
||||
|
@ -5,56 +5,21 @@ Shadows
|
||||
*******
|
||||
|
||||
These settings influence shadows which appear on objects because there is another object (the occluder)
|
||||
between them and a Light. EEVEE uses a technique called Shadow Mapping to calculate these shadows.
|
||||
A shadow map is calculated by looking around from the position of each Light and finding the objects
|
||||
which are closest to the Light. These objects are called the nearest occluders.
|
||||
Everything which is behind (or, you can say, covered by) the nearest occluders will be in shadow.
|
||||
|
||||
The shadow map is a cube (hence the term "cubemap") and the Light is in the middle of this cube.
|
||||
The cube has six sides and each side is divided into a grid.
|
||||
You can set the resolution of the grid (for example, 512 × 512 pixels) with the *Cube Size* setting below.
|
||||
During shadow calculation, the nearest occluders are only searched at grid points but not between grid points.
|
||||
Because of this, the edge of the calculated shadow will appear pixelated at low Cube Size settings.
|
||||
|
||||
.. note::
|
||||
|
||||
Settings for the shadows and illumination caused by light bouncing between objects (indirect lighting)
|
||||
can be found on the Indirect Lighting tab.
|
||||
between them and a Light.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Shadows`
|
||||
|
||||
Cube Size
|
||||
Number of pixels on one side of the shadow cube-map (see above)
|
||||
used to calculate the shadow of Point, Area and Spot lights.
|
||||
If you want to make the edge of shadows less pixelated, then increase this value.
|
||||
But be aware that this increases memory usage and decreases performance since a 512 px cube-map
|
||||
has 6 × 512 × 512 pixels in it.
|
||||
Pool Size
|
||||
Size of the shadow pool, a bigger pool size allows for more shadows in the scene, but might not
|
||||
fit into GPU memory.
|
||||
|
||||
Cascade Size
|
||||
Size of one cascade used by *Cascaded Shadow Maps*. This is only for Sun lights.
|
||||
Rays
|
||||
Amount of shadow rays to trace for each light.
|
||||
|
||||
High Bitdepth
|
||||
This option can help reduce some artifacts due to float imprecision inside the shadow maps.
|
||||
This option effectively doubles the memory usage of shadow maps and will slow down their update.
|
||||
Steps
|
||||
Amount of shadow map sample per shadow ray.
|
||||
|
||||
Soft Shadows
|
||||
Randomize the shadow map's origin to create soft shadows. It needs a lot of samples to get rid of the banding.
|
||||
|
||||
Light Threshold
|
||||
The minimum amount of light for a light to contribute for lighting.
|
||||
This light threshold does not take the light shape into account and may not suit every case.
|
||||
That is why Blender provides a :ref:`per-light override <bpy.types.Light.cutoff_distance>`
|
||||
where you can just set the cut off distance.
|
||||
|
||||
The influence distance is also used as shadow far clip distance, which might affect how shadows look.
|
||||
This influence distance does not affect sun lights that still have a far clip distance.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:ref:`Custom Distance <bpy.types.Light.cutoff_distance>`.
|
||||
|
||||
.. note::
|
||||
|
||||
The Soft Shadows method is not physically based and will not match Cycles for very large lights.
|
||||
Normal Bias
|
||||
Move along their normal.
|
||||
|
@ -1,31 +0,0 @@
|
||||
.. _bpy.types.SceneEEVEE.sss:
|
||||
|
||||
*********************
|
||||
Subsurface Scattering
|
||||
*********************
|
||||
|
||||
This effect mimics real subsurface scattering by blurring the diffuse lighting in screen space.
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`Render --> Subsurface Scattering`
|
||||
|
||||
Samples
|
||||
Number of samples to compute the scattering effect.
|
||||
|
||||
Jitter Threshold
|
||||
For the effect to be efficient, samples need to be coherent and not random.
|
||||
This can lead to a cross-shaped pattern when the scattering radius is high.
|
||||
Increasing the Jitter Threshold will rotate the samples below this radius percentage
|
||||
in a random pattern in order to hide the visible pattern.
|
||||
This affects the performance if the scattering radius is large.
|
||||
|
||||
.. note::
|
||||
|
||||
:ref:`Subsurface Translucency <bpy.types.Material.use_sss_translucency>`
|
||||
needs to be enabled in order to make the light go through an object
|
||||
(like simulating a human ear lit from behind).
|
||||
|
||||
This option only works with shadowed lights and does not work with indirect lighting.
|
||||
|
||||
.. seealso:: :ref:`Limitations <eevee-limitations-sss>`.
|
@ -32,6 +32,10 @@ Samples
|
||||
Distribution
|
||||
Blend between linear and exponential sample distribution. Higher values puts more samples near the camera.
|
||||
|
||||
Max Depth
|
||||
Maximum surface intersection count used by accurate volume intersection method. Will create
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`volumes objects` -> `volume objects`
`automatically compute` -> `automatically computes`
|
||||
artifacts if it is exceeded.
|
||||
|
||||
fclem marked this conversation as resolved
Hans Goudey
commented
`In certain situation` -> `In certain situations`
|
||||
|
||||
fclem marked this conversation as resolved
Outdated
Hans Goudey
commented
`large of volume` -> `large number of volume`
|
||||
.. _bpy.types.SceneEEVEE.volumetric_light:
|
||||
|
@ -10,6 +10,34 @@ In EEVEE, the world lighting contribution is first rendered and
|
||||
stored in smaller resolution textures before being applied to the objects.
|
||||
This makes the lighting less precise than Cycles.
|
||||
|
||||
Mist Pass
|
||||
=========
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`World --> Mist Pass`
|
||||
|
||||
Start
|
||||
Starting distance of the mist, measured from the camera.
|
||||
|
||||
Depth
|
||||
Distance over which the mist effect fades in.
|
||||
|
||||
Falloff
|
||||
Type of transition used to face mist.
|
||||
|
||||
|
||||
Light Probe
|
||||
===========
|
||||
|
||||
.. reference::
|
||||
|
||||
:Panel: :menuselection:`World --> Light Probe`
|
||||
|
||||
Resolution
|
||||
The resolution used to store the light from the world.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
:doc:`Indirect Lighting </render/eevee/render_settings/indirect_lighting>`.
|
||||
:doc:`Indirect Lighting </render/eevee/render_settings/light_probes>`.
|
||||
|
@ -187,7 +187,7 @@ Bloom
|
||||
.. _bpy.types.ViewLayerEEVEE.use_pass_transparent:
|
||||
|
||||
Transparency
|
||||
Contain :ref:`Alpha Blended <bpy.types.Material.blend_method>` surfaces,
|
||||
Contain :ref:`Blended <bpy.types.Material.render_method>` surfaces,
|
||||
so they can be adjusted in the compositor and later mixed with opaque passes.
|
||||
|
||||
This pass only supports monochromatic opacity.
|
||||
@ -329,8 +329,8 @@ The passes can be combined to produce the final image as follows:
|
||||
Known Limitations
|
||||
=================
|
||||
|
||||
- Alpha blended materials are not rendered in render passes except the combined pass.
|
||||
Use the *Alpha Clip* or *Alpha Hashed* as :ref:`Blending Mode <bpy.types.Material.blend_method>`
|
||||
- Blended materials are not rendered in render passes except the combined pass.
|
||||
Use the *Dithered* as :ref:`Render Method <bpy.types.Material.render_method>`
|
||||
to render transparent materials in render passes.
|
||||
- Depth of field is not rendered in render passes except the combined pass.
|
||||
It is possible to add the depth of field back in the Compositor using
|
||||
|
@ -72,8 +72,8 @@ This node makes it possible to tweak indirect lighting in the shader.
|
||||
|
||||
Only a subset of the outputs are supported and the ray depth does not exactly have the same meaning.
|
||||
In order for the *Is Camera*, *Is Shadow*, *Is Diffuse*, and *Is Glossy* outputs to work,
|
||||
the object must be inside an :doc:`Irradiance Volume </render/eevee/light_probes/irradiance_volumes>`
|
||||
and :doc:`/render/eevee/render_settings/indirect_lighting` must be baked.
|
||||
the object must be inside an :doc:`Irradiance Volume </render/eevee/light_probes/volume>`
|
||||
and :doc:`/render/eevee/render_settings/light_probes` must be baked.
|
||||
|
||||
- *Is Camera*: Supported.
|
||||
- *Is Shadow*: Supported.
|
||||
|
EEVEE is a based
-> EEVEE is based`