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

This updates the documentation for EEVEE to the new
features that the EEVEE-Next project brought.

  • Render Settings

  • Scene Settings

  • World Settings

  • Object Settings

  • Material Settings

  • Light Settings

  • Light Probe Settings

  • Shadow System & Limitation

  • New light probe volume system

  • New thickness workflow

  • Porting procedure from EEVEE Legacy

This updates the documentation for EEVEE to the new features that the EEVEE-Next project brought. - [x] Render Settings - [x] Scene Settings - [x] World Settings - [x] Object Settings - [x] Material Settings - [x] Light Settings - [x] Light Probe Settings - [x] Shadow System & Limitation - [x] New light probe volume system - [x] New thickness workflow - [x] Porting procedure from EEVEE Legacy
Clément Foucault added the
Module
Eevee & Viewport
label 2024-06-06 18:05:45 +02:00
Clément Foucault added 1 commit 2024-06-06 18:05:47 +02:00
Clément Foucault added 3 commits 2024-06-07 20:07:54 +02:00
Clément Foucault added 4 commits 2024-06-07 21:50:04 +02:00
Clément Foucault added 1 commit 2024-06-07 21:54:41 +02:00
Clément Foucault added 1 commit 2024-06-10 20:16:34 +02:00
Clément Foucault added 4 commits 2024-06-11 15:20:35 +02:00
Clément Foucault added 1 commit 2024-06-11 17:15:39 +02:00
Clément Foucault added 1 commit 2024-06-11 19:45:49 +02:00
Clément Foucault requested review from Hans Goudey 2024-06-12 15:05:49 +02:00
Hans Goudey reviewed 2024-06-12 16:10:45 +02:00
Hans Goudey left a comment
Member

Quite a few things in here. The most common mistakes I noticed had to do with singular/plural nouns or conjugations. Most should be trivial to fix though.

Quite a few things in here. The most common mistakes I noticed had to do with singular/plural nouns or conjugations. Most should be trivial to fix though.
@ -17,3 +17,1 @@
Unlike Cycles, EEVEE is not a raytrace render engine.
Instead of computing each ray of light, EEVEE uses a process called rasterization.
Rasterization estimates the way light interacts with objects and materials using numerous algorithms.
EEVEE is a based on rasterization and is not a path tracer.
Member

EEVEE is a based -> EEVEE is based`

`EEVEE is a based` -> EEVEE is based`
fclem marked this conversation as resolved
@ -18,2 +17,2 @@
Instead of computing each ray of light, EEVEE uses a process called rasterization.
Rasterization estimates the way light interacts with objects and materials using numerous algorithms.
EEVEE is a based on rasterization and is not a path tracer.
Instead of computing each ray of light, EEVEE uses a process called rasterization to determine what
Member

Can delete EEVEE uses a process called since the previous sentence that EEVEE uses it.

Can delete `EEVEE uses a process called` since the previous sentence that EEVEE uses it.
fclem marked this conversation as resolved
@ -20,3 +21,3 @@
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 a lot of different algorithms it has a set of
Member

a lot of -> many (just a more professional style)

`a lot of` -> `many` (just a more professional style)
fclem marked this conversation as resolved
@ -8,2 +7,3 @@
There are three different probe types. 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.
Member

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

`record` -> `records` `at different resolution` -> `at a different resolution`
fclem marked this conversation as resolved
@ -9,1 +8,3 @@
There are three different probe types. 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.
They are used together to recover incoming light information when using ray tracing is not possible (either for performance or for technical limitations).
Member

They -> Probes

`They` -> `Probes`
fclem marked this conversation as resolved
@ -0,0 +8,4 @@
This type of light probe is suited to smooth planar surfaces.
Each visible planar light probes increases the render time as the scene needs to be rendered for
Member

probes increases -> probe increases

`probes increases` -> `probe increases`
fclem marked this conversation as resolved
@ -0,0 +11,4 @@
Each visible planar light probes increases the render time as the scene needs to be rendered for
each of them.
Light probe planes only work when ray tracing method is set to `Screen-Trace`. When enabled, they
Member

when ray tracing method -> when the ray tracing method

`when ray tracing method` -> `when the ray tracing method`
fclem marked this conversation as resolved
@ -0,0 +16,4 @@
.. note::
Reflections and Volumetrics are not supported inside Light probe planes.
Member

Maybe Volumetrics shouldn't be capitalized?

Maybe `Volumetrics` shouldn't be capitalized?
fclem marked this conversation as resolved
@ -0,0 +34,4 @@
Distance
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.
Member

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

`Distance` -> `distance` `object scaling` -> `the object's scale`
fclem marked this conversation as resolved
@ -0,0 +36,4 @@
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.
For light probe planes the influence distance is the distance from the plane.
Member

For light probe planes -> For light probe planes,

`For light probe planes` -> `For light probe planes,`
fclem marked this conversation as resolved
@ -0,0 +44,4 @@
=======
Clipping Offset
Define how much below the plane the near clip is when capturing the scene.
Member

how much below -> how far below

`how much below` -> `how far below`
fclem marked this conversation as resolved
@ -0,0 +6,4 @@
A light probe sphere records the light incomming from many directions at a single location.
They are used for smooth and semi-rough reflections.
They then smoothly blend to light probe volume lighting for completely diffuse reflections.
Member

They then -> Sphere probes

`They then` -> `Sphere probes`
fclem marked this conversation as resolved
@ -0,0 +8,4 @@
They are used for smooth and semi-rough reflections.
They then smoothly blend to light probe volume lighting for completely diffuse reflections.
If *Raytracing* is turned on, they are used as a fall back if a ray misses.
Member

fall back -> fallback

`fall back` -> `fallback`
fclem marked this conversation as resolved
@ -0,0 +12,4 @@
.. note::
In both usage, the light probe spheres are shadowed by light probe volume. This is to
Member

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

`In both usage` -> `In both usages` `This is to...` (missing text here)
fclem marked this conversation as resolved
@ -0,0 +20,4 @@
:doc:`Scene </render/eevee/scene>`.
The world also have an internal light probe sphere which resolution can be adjusted in the *World* data panel.
Member

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`
fclem marked this conversation as resolved
@ -0,0 +31,4 @@
:Panel: :menuselection:`Object Data --> Probe`
Type
Select the shape of the influence volume. Can be set to Sphere or Box.
Member

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

Delete `Select the`, this can just describe what the property does
fclem marked this conversation as resolved
@ -0,0 +38,4 @@
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.
Member

during -> in (during is for time)

`during` -> `in` (during is for time)
fclem marked this conversation as resolved
@ -0,0 +59,4 @@
: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.
Member

volume on which -> volume in which

`volume on which` -> `volume in which`
Author
Member

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.
fclem marked this conversation as resolved
@ -0,0 +62,4 @@
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
Member

Remove just (doesn't really help, a bit informal/odd sounding)

Remove `just` (doesn't really help, a bit informal/odd sounding)
fclem marked this conversation as resolved
@ -0,0 +3,4 @@
Light Probe Volume
******************
A volume probe records the light incomming from all directions at a many locations inside a volume.
Member

at a many -> at many

`at a many` -> `at many`
fclem marked this conversation as resolved
@ -0,0 +41,4 @@
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
Member

avoids capture points -> avoids capturing points

`avoids capture points` -> `avoids capturing points`
fclem marked this conversation as resolved
@ -0,0 +42,4 @@
Facing Bias
When set to zero, avoids capture points behind the shaded surface to bleed light onto
the shaded surface, but this produces non-smooth interpolation when the capture resolution is high.
Member

surface, but this -> surface. This

`surface, but this` -> `surface. This`
fclem marked this conversation as resolved
@ -0,0 +50,4 @@
===================
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.
Member

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

`number of back-face was hit` -> `number of back-faces hit`
fclem marked this conversation as resolved
@ -0,0 +75,4 @@
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.
Member

prevent -> prevents

`prevent` -> `prevents`
fclem marked this conversation as resolved
@ -0,0 +77,4 @@
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.
There are a few way to deal with this issue:
- Larger scene should be divided into smaller sections or using different level of details.
Member

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

`Larger scene` -> `Larger scenes` `or using` -> `or use`
fclem marked this conversation as resolved
@ -0,0 +88,4 @@
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.
Member

light sample -> light samples

`light sample` -> `light samples`
fclem marked this conversation as resolved
@ -0,0 +96,4 @@
Surfel Resolution
Number of surfels to spawn in one local unit distance.
Higher values increase quality. Have a huge impact on memory usage.
Member

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

`quality. Have a huge` -> `quality, but have a huge`
fclem marked this conversation as resolved
@ -0,0 +123,4 @@
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)
Member

from light object -> from the light object

`from light object` -> `from the light object`
fclem marked this conversation as resolved
@ -0,0 +124,4 @@
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)
or coming from emissive materials.
Member

or coming -> or light coming`

`or coming` -> or light coming`
fclem marked this conversation as resolved
@ -0,0 +139,4 @@
Offset
======
In order to reduce artifacts caused by bad capture points positioning, the bake process will adjust their location.
Member

capture points positioning -> capture point positioning

`capture points positioning` -> `capture point positioning`
fclem marked this conversation as resolved
@ -0,0 +140,4 @@
======
In order to reduce artifacts caused by bad capture points positioning, the bake process will adjust their location.
First by moving them slightly away from surrounding surfaces, avoiding banding artifacts.
Member

location. First by -> location, first by

`location. First by` -> `location, first by`
fclem marked this conversation as resolved
@ -0,0 +141,4 @@
In order to reduce artifacts caused by bad capture points positioning, the bake process will adjust their location.
First by moving them slightly away from surrounding surfaces, avoiding banding artifacts.
It also tries to move them out of objects if they are not so far bellow the surface.
Member

not so far bellow -> not too far below

`not so far bellow` -> `not too far below`
fclem marked this conversation as resolved
@ -0,0 +8,4 @@
:Panel: :menuselection:`Properties --> Light`
:menuselection:`Shader Editor --> Sidebar --> Options`
Next to lighting from the background and any object with an emission shader,
Member

Next to -> Besides
any object with an emission shader -> materials with emission shaders

`Next to` -> `Besides` `any object with an emission shader` -> `materials with emission shaders`
fclem marked this conversation as resolved
@ -0,0 +24,4 @@
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.
Member

cannot allocate -> cannot allocate enough memory

`cannot allocate` -> `cannot allocate enough memory`
fclem marked this conversation as resolved
@ -0,0 +45,4 @@
.. _bpy.types.Light.shadow_filter_radius:
Filter
Blur shadow aliasing using Percentage Closer Filtering with a circular kernel.
Member

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

Not sure why `Percentage Closer Filtering` is capitalized. If it's some concept, maybe it should be a link or reference instead?
fclem marked this conversation as resolved
@ -0,0 +52,4 @@
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.
Member

scene -> scenes

`scene` -> `scenes`
fclem marked this conversation as resolved
@ -0,0 +25,4 @@
Lights
======
- For now lights can only have one color and do not support light node trees.
Member

For now lights -> Lights

`For now lights` -> `Lights`
fclem marked this conversation as resolved
@ -0,0 +57,4 @@
This only modifies the shading normal of the object. Vertex position is not affected.
:Displacement Only:
This mode is not supported and fallback to *Displacement and Bump*.
Member

and fallback to -> and falls back to

`and fallback to` -> `and falls back to`
fclem marked this conversation as resolved
@ -0,0 +117,4 @@
---------------
When using *Blended* render method, 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.
Member

As of now can be removed, the documentation should always just refer to the current state/version

`As of now` can be removed, the documentation should always just refer to the current state/version
fclem marked this conversation as resolved
@ -0,0 +122,4 @@
Opaque surfaces (i.e. that have no transparency) will still have correct sorting regardless of the render method.
.. tip::
Face order can be adjusted in edit mode by using :doc:`sort element </modeling/meshes/editing/mesh/sort_elements>`.
Member

How about mentioning the Sort Elements geometry node here too? ;)

How about mentioning the `Sort Elements` geometry node here too? ;)
fclem marked this conversation as resolved
@ -0,0 +127,4 @@
.. note::
Per-object sorting has a performance cost and having thousands of
these objects in a scene will greatly degrade performance.
Member

these objects -> objects

`these objects` -> `objects`
fclem marked this conversation as resolved
@ -0,0 +144,4 @@
This feature is used to approximate the inner geometry structure of the object without heavy computation.
This is currently used for Subsurface, Translucent BSDF, Refraction BSDF and the nodes containing them.
If no value is plugged into the output node, then a default thickness based on the smallest dimension of the object is computed.
Member

, then a default -> , a default

`, then a default` -> `, a default`
fclem marked this conversation as resolved
@ -0,0 +150,4 @@
.. note::
The thickness is used to skip the inner part of the object. This means that:
- refraction will skip objects inside this thickness distance.
Member

Capitalize list items

Capitalize list items
fclem marked this conversation as resolved
@ -0,0 +22,4 @@
Indirect Light
Similar to **Direct Light* but limits the maximum light intensity reflected using ray-tracing and light-probes.
Member

Mismatched *

Mismatched *
fclem marked this conversation as resolved
@ -0,0 +26,4 @@
.. note::
These options provides a way to limit :term:`Fireflies` and :term:`Aliasing` of highly reflective surfaces and dense volumes.
Member

These options provides -> These options provide

`These options provides` -> `These options provide`
fclem marked this conversation as resolved
@ -15,0 +26,4 @@
.. _bpy.types.SceneEEVEE.gi_irradiance_pool_size:
Light Probes Volume Pool Size
A bigger pool size allows for more irradiance grid in the scene but might not fit into GPU memory and decreases performance.
Member

more irradiance grid -> more irradiance grids

`more irradiance grid` -> `more irradiance grids`
fclem marked this conversation as resolved
@ -0,0 +22,4 @@
:Light Probe:
Use light-probe spheres and planes to find scene intersection.
This option is has the lowest tracing cost but rely on manually placed light-probes.
Member

This option is has -> This option has
but rely -> but relies

`This option is has` -> `This option has` `but rely` -> `but relies`
fclem marked this conversation as resolved
@ -0,0 +44,4 @@
They are only visible if *Screen-Trace* is the chosen tracing *Method*.
Precision
Higher values increase precision of the screen space ray-tracing but lowers the maximum trace distance.
Member

but lowers -> but lower

`but lowers` -> `but lower`
fclem marked this conversation as resolved
@ -0,0 +55,4 @@
Denoising
_________
Denoising can be enabled to reduce the noise amount from the raw ray-traced output.
Member

the noise amount -> the amount of noise
over blur -> over-blur

`the noise amount` -> `the amount of noise` `over blur` -> `over-blur`
fclem marked this conversation as resolved
@ -0,0 +63,4 @@
Can introduce some light leaks across surfaces.
Temporal Accumulation
Accumulate samples by re-projecting last ray tracing results.
Member

last ray tracing results -> the last ray tracing results
introduce a lot of color bias -> introduces color bias
making render converge -> making renders converge

`last ray tracing results` -> `the last ray tracing results` `introduce a lot of color bias` -> `introduces color bias` `making render converge` -> `making renders converge`
fclem marked this conversation as resolved
@ -0,0 +74,4 @@
Fast GI Approximation
_____________________
This Fast GI Approximation is a fallback to the ray-tracing pipeline for
Member

Remove This

Remove `This`
fclem marked this conversation as resolved
@ -0,0 +76,4 @@
This Fast GI Approximation is a fallback to the ray-tracing pipeline for
:abbr:`BSDF (Bidirectional Scattering Distribution Function)` with high roughness.
It produces less noisy output and capture bounce lighting more efficiently than individually traced rays.
Member

less noisy output -> a less noisy output
and capture bounce -> and captures bounce

`less noisy output` -> `a less noisy output` `and capture bounce` -> `and captures bounce`
fclem marked this conversation as resolved
@ -0,0 +78,4 @@
:abbr:`BSDF (Bidirectional Scattering Distribution Function)` with high roughness.
It produces less noisy output and capture bounce lighting more efficiently than individually traced rays.
This is currently implemented as a screen space effect and will inherit.
Member

Will inherit what?

Will inherit what?
fclem marked this conversation as resolved
@ -0,0 +83,4 @@
.. seealso:: :ref:`Limitations <eevee-limitations-screenspace>`.
Method
Determine the methods used to compute the fast GI approximation.
Member

the methods -> the method

`the methods` -> `the method`
fclem marked this conversation as resolved
@ -0,0 +97,4 @@
Lower options will be faster and use less memory but will produce blurrier results.
Ray Count
Amount of GI ray per pixels at the specified *Resolution*.
Member

Amount of GI ray per pixels -> Number of GI rays per pixel

`Amount of GI ray per pixels` -> `Number of GI rays per pixel`
fclem marked this conversation as resolved
@ -0,0 +101,4 @@
Higher values will reduce noise.
Step Count
Amount of screen sample per GI ray.
Member

Amount of screen sample -> Number of screen samples

`Amount of screen sample` -> `Number of screen samples`
fclem marked this conversation as resolved
@ -0,0 +106,4 @@
.. note::
With higher step count, there is less chance to miss other surfaces that could reflect of block the light.
Member

With higher step count -> With a higher step count
reflect of block -> reflect or block
loosing -> losing

`With higher step count` -> `With a higher step count` `reflect of block` -> `reflect or block` `loosing` -> `losing`
fclem marked this conversation as resolved
@ -25,0 +41,4 @@
=======
Shadow Rays Count
Amount of shadow rays to trace for each light.
Member

Amount of -> Number of

`Amount of` -> `Number of`
fclem marked this conversation as resolved
@ -0,0 +23,4 @@
These samples are distributed along the view depth (view Z axis).
Distribution
Blend between linear and exponential sample distribution. Higher values puts more samples near the camera.
Member

Higher values puts -> Higher values put

`Higher values puts` -> `Higher values put`
fclem marked this conversation as resolved
@ -0,0 +33,4 @@
Custom Range
============
When working with volumes objects, EEVEE automatically compute the best depth range where to compute
Member

volumes objects -> volume objects
automatically compute -> automatically computes

`volumes objects` -> `volume objects` `automatically compute` -> `automatically computes`
fclem marked this conversation as resolved
@ -0,0 +35,4 @@
When working with volumes objects, EEVEE automatically compute the best depth range where to compute
the volume sampling and lighting.
In certain situation, this isn't enough and produces sub-optimal sampling which increases noise.
Member

In certain situation -> In certain situations

`In certain situation` -> `In certain situations`
fclem marked this conversation as resolved
@ -0,0 +36,4 @@
When working with volumes objects, EEVEE automatically compute the best depth range where to compute
the volume sampling and lighting.
In certain situation, this isn't enough and produces sub-optimal sampling which increases noise.
This is particularly the case when using a volume shader inside the *World* or when working with large of volume objects.
Member

large of volume -> large number of volume

`large of volume` -> `large number of volume`
fclem marked this conversation as resolved
@ -0,0 +6,4 @@
The world environment can emit light, ranging from a single solid color
to arbitrary textures.
In EEVEE, the world lighting contribution is stored into internal :ref:`Light Probe`.
Member

stored into internal -> stored into an internal

`stored into internal` -> `stored into an internal`
fclem marked this conversation as resolved
@ -0,0 +83,4 @@
Sun
---
EEVEE can separate the light from intense light sources (e.g. a sun from an outdoor HDRI) and
Member

Is there a link/reference to use for "HDRI"?

Is there a link/reference to use for "HDRI"?
fclem marked this conversation as resolved
@ -0,0 +84,4 @@
---
EEVEE can separate the light from intense light sources (e.g. a sun from an outdoor HDRI) and
replace them by a sun light. This increases the quality of the lighting as the internal light probes
Member

replace them by -> replace them with

`replace them by` -> `replace them with`
fclem marked this conversation as resolved
@ -0,0 +95,4 @@
Angle
Angle of the extracted sun light.
Angular diameter of the Sun as seen from the Earth
Member

Missing period/duplicate description

Missing period/duplicate description
fclem marked this conversation as resolved
Clément Foucault added 8 commits 2024-06-12 17:29:16 +02:00
Author
Member

@blender-bot build

@blender-bot build
Clément Foucault added 1 commit 2024-06-12 17:43:01 +02:00
Hans Goudey approved these changes 2024-06-12 17:46:16 +02:00
Clément Foucault merged commit e63b20c8d3 into blender-v4.2-release 2024-06-12 17:47:14 +02:00
Clément Foucault deleted branch eevee-next-manual 2024-06-12 17:47:15 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#104816
No description provided.