Skip to content

Commit

Permalink
Merge pull request #10114 from tetrapod00/renderer-comparison
Browse files Browse the repository at this point in the history
Add new Renderers page
  • Loading branch information
mhilbrunner authored Oct 28, 2024
2 parents c01fc52 + 04a986d commit 2d0b917
Show file tree
Hide file tree
Showing 10 changed files with 391 additions and 14 deletions.
5 changes: 5 additions & 0 deletions about/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,11 @@ Some new versions are safer to upgrade to than others. In general, whether you
should upgrade depends on your project's circumstances. See
:ref:`doc_release_policy_should_i_upgrade_my_project` for more information.

Should I use the Forward+, Mobile, or Compatibility renderer?
-------------------------------------------------------------

You can find a detailed comparison of the renderers in :ref:`doc_renderers`.

I would like to contribute! How can I get started?
--------------------------------------------------

Expand Down
5 changes: 4 additions & 1 deletion about/list_of_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ Rendering
advanced graphics backend, suited for low-end desktop and mobile platforms.
Used by default on the web platform.

See :ref:`doc_renderers` for a detailed comparison of the rendering methods.

2D graphics
-----------

Expand Down Expand Up @@ -279,7 +281,8 @@ Rendering
rendered with clustered forward optimizations to decrease their individual cost.
Clustered rendering also lifts any limits on the number of reflection probes that can be used on a mesh.
- When using the Forward Mobile backend, up to 8 reflection probes can be displayed per mesh
resource.
resource. When using the Compatibility renderer, up to 2 reflection probes can
be displayed per mesh resource.

**Decals:**

Expand Down
3 changes: 3 additions & 0 deletions tutorials/2d/2d_antialiasing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ nodes, you can use 2D multisample antialiasing instead.
Multisample antialiasing (MSAA)
-------------------------------

*This is only available in the Forward+ and Mobile renderers, not the
Compatibility renderer.*

Before enabling MSAA in 2D, it's important to understand what MSAA will operate
on. MSAA in 2D follows similar restrictions as in 3D. While it does not
introduce any blurriness, its scope of application is limited. The main
Expand Down
20 changes: 12 additions & 8 deletions tutorials/3d/3d_antialiasing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ detailed below.
Multisample antialiasing (MSAA)
-------------------------------

*This is available in all renderers.*

This technique is the "historical" way of dealing with aliasing. MSAA is very
effective on geometry edges (especially at higher levels). MSAA does not
introduce any blurriness whatsoever.
Expand Down Expand Up @@ -83,8 +85,8 @@ Note that alpha antialiasing is not used here:
Temporal antialiasing (TAA)
---------------------------

*This is only available in the Clustered Forward backend, not the Forward Mobile
or Compatibility backends.*
*This is only available in the Forward+ renderer, not the Mobile or Compatibility
renderers.*

Temporal antialiasing works by *converging* the result of previously rendered
frames into a single, high-quality frame. This is a continuous process that
Expand Down Expand Up @@ -115,6 +117,9 @@ Comparison between no antialiasing (left) and TAA (right):
AMD FidelityFX Super Resolution 2.2 (FSR2)
------------------------------------------

*This is only available in the Forward+ renderer, not the Mobile or Compatibility
renderers.*

Since Godot 4.2, there is built-in support for
`AMD FidelityFX Super Resolution <https://www.amd.com/en/products/graphics/technologies/fidelityfx/super-resolution.html>`__
2.2. This is an :ref:`upscaling method <doc_resolution_scaling>`
Expand Down Expand Up @@ -148,8 +153,8 @@ Comparison between no antialiasing (left) and FSR2 at native resolution (right):
Fast approximate antialiasing (FXAA)
------------------------------------

*This is only available in the Clustered Forward and Forward Mobile backends,
not the Compatibility backend.*
*This is only available in the Forward+ and Mobile renderers, not the Compatibility
renderer.*

Fast approximate antialiasing is a post-processing antialiasing solution. It is
faster to run than any other antialiasing technique and also supports
Expand All @@ -175,8 +180,7 @@ Comparison between no antialiasing (left) and FXAA (right):
Supersample antialiasing (SSAA)
-------------------------------

*This is only available in the Clustered Forward and Forward Mobile backends,
not the Compatibility backend.*
*This is available in all renderers.*

Supersampling provides the highest quality of antialiasing possible, but it's
also the most expensive. It works by shading every pixel in the scene multiple
Expand Down Expand Up @@ -216,8 +220,8 @@ Comparison between no antialiasing (left) and various SSAA levels (right):
Screen-space roughness limiter
------------------------------

*This is only available in the Clustered Forward and Forward Mobile backends,
not the Compatibility backend.*
*This is only available in the Forward+ and Mobile renderers, not the Compatibility
renderer.*

This is not an edge antialiasing method, but it is a way of reducing specular
aliasing in 3D.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ In order of performance from fastest to slowest:
- ReflectionProbes with their update mode set to **Always** are much more
expensive than probes with their update mode set to **Once** (the default).
Suited for integrated graphics when using the **Once** update mode.
*Available when using the Forward Mobile backend. Will be available in the Compatibility backend in later releases.*
*Available in all renderers.*

- **LightmapGI:**

Expand All @@ -131,30 +131,31 @@ In order of performance from fastest to slowest:
Directional information can be enabled before baking to improve visuals at
a small performance cost (and at the cost of larger file sizes).
Suited for integrated graphics.
*Available when using the Forward Mobile backend. Will be available in the Compatibility backend in later releases.*
*Available in all renderers. However, baking lightmaps requires hardware
with RenderingDevice support.*

- **VoxelGI:**

- The bake's number of subdivisions can be adjusted to balance between performance and quality.
The VoxelGI rendering quality can be adjusted in the Project Settings.
The rendering can optionally be performed at half resolution
(and then linearly scaled) to improve performance significantly.
**Not available** *when using the Forward Mobile or Compatibility backends.*
**Not available** *when using the Mobile or Compatibility renderers.*

- **Screen-space indirect lighting (SSIL):**

- The SSIL quality and number of blur passes can be adjusted in the Project Settings.
By default, SSIL rendering is performed at half resolution (and then linearly scaled)
to ensure a reasonable performance level.
**Not available** *when using the Forward Mobile or Compatibility backends.*
**Not available** *when using the Mobile or Compatibility renderers.*

- **SDFGI:**

- The number of cascades can be adjusted to balance performance and quality.
The number of rays thrown per frame can be adjusted in the Project Settings.
The rendering can optionally be performed at half resolution
(and then linearly scaled) to improve performance significantly.
**Not available** *when using the Forward Mobile or Compatibility backends.*
**Not available** *when using the Mobile or Compatibility renderers.*

Visuals
^^^^^^^
Expand Down
2 changes: 2 additions & 0 deletions tutorials/3d/standard_material_3d.rst
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,8 @@ mapping.
Subsurface Scattering
---------------------

*This is only available in the Forward+ renderer, not the Mobile or Compatibility
renderers.*

This effect emulates light that penetrates an object's surface, is scattered,
and then comes out. It is useful to create realistic skin, marble, colored
Expand Down
Binary file not shown.
1 change: 1 addition & 0 deletions tutorials/rendering/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ Rendering
multiple_resolutions
jitter_stutter
compositor
renderers
Loading

0 comments on commit 2d0b917

Please sign in to comment.