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
6 changed files with 183 additions and 76 deletions
Showing only changes of commit 3a1b683025 - Show all commits

View File

@ -10,9 +10,10 @@
introduction.rst
render_settings/index.rst
materials/index.rst
world.rst
scene.rst
lighting.rst
light_probes/index.rst
materials/index.rst
limitations.rst
limitations_shadow.rst

View File

@ -4,9 +4,9 @@ Introduction
************
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 types of light probes. One for diffuse lighting, two for specular lighting.
There are three different types of light probes.
Each type of light probe record the lighting at different resolution and frequency.
fclem marked this conversation as resolved Outdated

record -> records
at different resolution -> at a different resolution

`record` -> `records` `at different resolution` -> `at a different resolution`
They are used together to recover incoming light information when using ray tracing is not possible (either for performance or for technical limitations).
fclem marked this conversation as resolved Outdated

They -> Probes

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

View File

@ -1,18 +1,18 @@
******************
Light Probe Planes
******************
*****************
Light Probe Plane
*****************
These special types of light probe object are suited to smooth planar surfaces.
They basically capture the scene with a flipped camera.
A light probe plane records the light incoming from a single direction for all visible points on a plane.
The specular reflection direction is the only one currently available.
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.
This type of light probe is suited to smooth planar surfaces.
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
affected surfaces that have medium roughness and disturbed normals (i.e. normal maps).
Each visible planar light probes increases the render time as the scene needs to be rendered for
fclem marked this conversation as resolved Outdated

probes increases -> probe increases

`probes increases` -> `probe increases`
each of them.
Light probe planes only work when ray tracing method is set to `Screen-Trace`. When enabled, they
fclem marked this conversation as resolved Outdated

when ray tracing method -> when the ray tracing method

`when ray tracing method` -> `when the ray tracing method`
accelerate the tracing process and complete the missing data from the screen space ray tracing.
.. note::
@ -26,25 +26,28 @@ If Backface Culling is not enabled, snapping the light probe plane to the planar
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.
Alternatively you can disable the light probe visibility in the object visibility 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.
Distance
A probe object only influences the lighting of nearby surfaces.
A probe object only influences the lighting of surfaces inside its influence zone.
This influence zone is defined by the Distance parameter and object scaling.
fclem marked this conversation as resolved Outdated

Distance -> distance
object scaling -> the object's scale

`Distance` -> `distance` `object scaling` -> `the object's scale`
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.
fclem marked this conversation as resolved Outdated

For light probe planes -> For light probe planes,

`For light probe planes` -> `For light probe planes,`
Only surfaces whose normals are aligned with the Reflection Plane will receive the captured reflection.
Capture
=======
Clipping Offset
Define how much below the plane the near clip is when capturing the scene.
fclem marked this conversation as resolved Outdated

how much below -> how far below

`how much below` -> `how far below`
Increasing this can fix reflection contact problems.
Viewport Display
================
@ -52,11 +55,11 @@ Viewport Display
: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
Capture
Show the captured reflected image onto a fully reflective plane in the 3D Viewport.
Influence
Show the influence bounds in the 3D Viewport.

View File

@ -3,35 +3,50 @@
Light Probe Sphere
******************
Specular Indirect Lighting can be stored in a light probe sphere.
A light probe sphere records the light incomming from many directions at a single location.
.. seealso::
They are used for smooth and semi-rough reflections.
They then smoothly blend to light probe volume lighting for completely diffuse reflections.
fclem marked this conversation as resolved Outdated

They then -> Sphere probes

`They then` -> `Sphere probes`
:doc:`Indirect Lighting </render/eevee/render_settings/light_probes>`.
*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.
If *Raytracing* is turned on, they are used as a fall back if a ray misses.
fclem marked this conversation as resolved Outdated

fall back -> fallback

`fall back` -> `fallback`
.. note::
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.
In both usage, the light probe spheres are shadowed by light probe volume. This is to
fclem marked this conversation as resolved Outdated

In both usage -> In both usages
This is to... (missing text here)

`In both usage` -> `In both usages` `This is to...` (missing text here)
Adjusting their resolution is done inside the *Scene* data panel.
.. seealso::
:doc:`Scene </render/eevee/scene>`.
The world also have an internal light probe sphere which resolution can be adjusted in the *World* data panel.
fclem marked this conversation as resolved Outdated

The world also have -> The world also has
which resolution -> with a resolution that

`The world also have` -> `The world also has` `which resolution` -> `with a resolution that`
.. seealso::
:doc:`World </render/eevee/world>`.
.. reference::
:Panel: :menuselection:`Object Data --> Probe`
Shape/Type
Type
Select the shape of the influence volume. Can be set to Sphere or Box.
fclem marked this conversation as resolved
Review

Delete Select the, this can just describe what the property does

Delete `Select the`, this can just describe what the property does
Size
Radius
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 Outdated

during -> in (during is for time)

`during` -> `in` (during is for time)
Capture
=======
In the viewport, capture only happens if an update is detected on the light probe data or position.
For renders, the capture happens at the start of each frame.
Clipping
Define the near and far clip distances when capturing the scene.
@ -54,11 +69,14 @@ 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.
Data
Show the captured light using a reflective sphere of the given size.
Clipping
Show the clipping distance in the 3D Viewport.
Influence
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.
Parallax
Show the *Custom Parallax* shape in the 3D Viewport.

View File

@ -3,9 +3,10 @@
Light Probe Volume
******************
Diffuse indirect lighting is stored in a light probe volume object.
A volume probe records the light incomming from all directions at a many locations inside a volume.
fclem marked this conversation as resolved Outdated

at a many -> at many

`at a many` -> `at many`
Lighting is computed at the dot positions visible when the Irradiance Volume object is selected.
The light is then filtered and only the diffuse light is recorded.
The capture point positions are visible as an overlay 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.
@ -14,73 +15,151 @@ the world's diffuse lighting will be used to shade it.
- 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.
- Bad samples can be fixed by adding a smaller grid near the problematic area.
- Large scenes may require using many volumes with different level of details.
.. reference::
:Panel: :menuselection:`Object Data --> Probe`
Intensity
Intensity factor of the recorded lighting.
Making this parameter anything other than 1.0 is not physically correct.
To be used for tweaking, animating or artistic purposes.
Sampling Bias
=============
Normal Bias
Offset sampling of the irradiance grid in the surface normal direction to reduce light bleeding.
Can lead to specular appearance of diffuse surface if set too high.
View Bias
Offset sampling of the irradiance grid in the viewing direction to reduce light bleeding.
Can lead to view dependant result if set too high. Prefer this if camera is static.
Facing Bias
When set to zero, avoids capture points behind the shaded surface to bleed light onto
fclem marked this conversation as resolved Outdated

avoids capture points -> avoids capturing points

`avoids capture points` -> `avoids capturing points`
the shaded surface, but this produces non-smooth interpolation when the capture resolution is high.
fclem marked this conversation as resolved Outdated

surface, but this -> surface. This

`surface, but this` -> `surface. This`
Increasing this bias will make the interpolation smoother but also introduce some light bleeding.
Validity & Dilation
===================
During the baking process, a validity score is assigned to each capture point.
This score is based on the number of back-face was hit when capturing the incoming lighting.
fclem marked this conversation as resolved Outdated

number of back-face was hit -> number of back-faces hit

`number of back-face was hit` -> `number of back-faces hit`
Only materials with *Single Sided* turned on for Light Probe Volumes will reduce the validity score.
Validity Threshold
Capture points with validity below this threshold will be ignored during lighting interpolation.
This remove the influence of capture points trapped inside closed geometry, reducing the artifacts they produced.
Dilation Threshold
Capture points with validity below this threshold will have their data replaced using valid neighbors.
Dilation radius
Radius in capture points in which to search for a valid neighbor.
Bake
====
Light probe volume light data is static and needs to be manually baked.
Once baked, the data is stored inside the object data-block and can be moved, animated and linked
between blender files.
.. note::
Baking uses the render visibility of the objects in the scene.
During baking, the scene is converted into a different representation to accelerate light transport.
This representation can be very memory intensive and prevent baking if it cannot fit inside the GPU memory.
fclem marked this conversation as resolved
Review

prevent -> prevents

`prevent` -> `prevents`
There are a few way to deal with this issue:
- Larger scene should be divided into smaller sections or using different level of details.
fclem marked this conversation as resolved Outdated

Larger scene -> Larger scenes
or using -> or use

`Larger scene` -> `Larger scenes` `or using` -> `or use`
- Reduce
- Turn off the light probe volume visibility option on objects that have little to no effect in the bake.
.. tip::
The internal scene representation can be inspected using the `Debug Value` 3, 4 and 5.
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.
fclem marked this conversation as resolved
Review

light sample -> light samples

`light sample` -> `light samples`
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.
This increases the baking time proportionally to the size of the scene representation.
Surfel Density
Number of surfels per unit distance. Higher values improves quality.
Surfel Resolution
Number of surfels to spawn in one local unit distance.
Higher values increase quality. Have a huge impact on memory usage.
fclem marked this conversation as resolved
Review

quality. Have a huge -> quality, but have a huge

`quality. Have a huge` -> `quality, but have a huge`
A good value is twice the maximum *Resolution*.
Capture
=======
Capture Distance
The maximum distance to capture light from.
Distance around the light probe volume that will be captured during the bake.
A distance of 0 will only considered the inside of the volume.
World Contribution
Bake incoming light from the world instead of just visibility for more accurate lighting,
but lose correct blending to surrounding irradiance volumes.
Indirect Light Contribution
Capture light bounces from light source.
Emission Contribution
Capture emissive surfaces when baking.
Clamping
========
Clamp Direct
Clamp incoming direct light. 0.0 disables direct light clamping.
Here direct light refers to the light that bounces only once (from light object)
fclem marked this conversation as resolved
Review

from light object -> from the light object

`from light object` -> `from the light object`
or coming from emissive materials.
fclem marked this conversation as resolved Outdated

or coming -> or light coming`

`or coming` -> or light coming`
Clamp Indirect
Clamp incoming indirect light. 0.0 disables indirect light clamping.
Here indirect light refers to the light that bounces off a surface after the first bounce (from light object)
or during the first bounce if the light comes from emissive materials.
Normal Bias
Offset sampling of the irradiance grid in the surface normal direction to reduce light bleeding.
.. tip::
Facing Bias
Smoother irradiance interpolation but introduce light bleeding.
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.
Setting *Clamp Indirect* to a very non-zero value will effectively only record the first light bounce leading.
Offset
======
In order to reduce artifacts caused by bad capture points positioning, the bake process will adjust their location.
fclem marked this conversation as resolved Outdated

capture points positioning -> capture point positioning

`capture points positioning` -> `capture point positioning`
First by moving them slightly away from surrounding surfaces, avoiding banding artifacts.
fclem marked this conversation as resolved
Review

location. First by -> location, first by

`location. First by` -> `location, first by`
It also tries to move them out of objects if they are not so far bellow the surface.
fclem marked this conversation as resolved
Review

not so far bellow -> not too far below

`not so far bellow` -> `not too far below`
Surface Offset
Distance to move the capture points away from surfaces.
Search Distance
Distance to search for valid capture positions if the capture point is near the back-face of a single-sided object.
.. note::
Only materials with *Single Sided* turned on for Light Probe Volumes will move capture point position.
Viewport Display
================
Data
Show the captured light using small diffuse spheres of the given size.
Influence
Show the influence bounds in the 3D Viewport. The inner sphere is where the falloff starts.

View File

@ -0,0 +1,6 @@
*****
Scene
*****
TODO