Skip to content

Commit bd00434

Browse files
authored
Merge pull request #10167 from tetrapod00/redundant-msaa
Add Antialiasing comparison table, remove redundant MSAA limitations section
2 parents da5cf62 + 99722f2 commit bd00434

File tree

2 files changed

+40
-42
lines changed

2 files changed

+40
-42
lines changed

tutorials/3d/3d_antialiasing.rst

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ StandardMaterial3D or ORMMaterial3D properties. Alpha to coverage has a
6666
moderate performance cost, but it's effective at reducing aliasing on
6767
transparent materials without introducing any blurriness.
6868

69+
To make specular aliasing less noticeable, use the `Screen-space roughness limiter`_,
70+
which is enabled by default.
71+
6972
MSAA can be enabled in the Project Settings by changing the value of the
7073
**Rendering > Anti Aliasing > Quality > MSAA 3D** setting. It's important to change
7174
the value of the **MSAA 3D** setting and not **MSAA 2D**, as these are entirely
@@ -231,7 +234,9 @@ an effect on roughness map rendering itself, its impact is limited there.
231234

232235
The screen-space roughness limiter is enabled by default; it doesn't require
233236
any manual setup. It has a small performance impact, so consider disabling it
234-
if your project isn't affected by specular aliasing much.
237+
if your project isn't affected by specular aliasing much. You can disable it
238+
with the **Rendering > Quality > Screen Space Filters > Screen Space Roughness Limiter**
239+
project setting.
235240

236241
Texture roughness limiter on import
237242
-----------------------------------
@@ -279,3 +284,37 @@ usually unnecessary, but it can provide better visuals on high-end GPUs or for
279284
:ref:`non-real-time rendering <doc_creating_movies>`. For example, to make
280285
moving edges look better when TAA is enabled, you can also enable MSAA at the
281286
same time.
287+
288+
Antialiasing comparison
289+
~~~~~~~~~~~~~~~~~~~~~~~
290+
291+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
292+
| Feature | MSAA | TAA | FSR2 | FXAA | SSAA | SSRL |
293+
+==========================+==========================+==========================+==========================+==========================+==========================+==========================+
294+
| Edge antialiasing | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🔴 No |
295+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
296+
| Specular antialiasing | 🟡 Some | 🟢 Yes | 🟢 Yes | 🟡 Some | 🟢 Yes | 🟢 Yes |
297+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
298+
| Transparency antialiasing| 🟡 Some [1]_ | 🟢 Yes [2]_ | 🟢 Yes [2]_ | 🟢 Yes | 🟢 Yes | 🔴 No |
299+
| | | | | | | |
300+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
301+
| Added blur | 🟢 None | 🟡 Some | 🟡 Some | 🟡 Some | 🟡 Some [3]_ | 🟢 None |
302+
| | | | | | | |
303+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
304+
| Ghosting artifacts | 🟢 None | 🔴 Yes | 🔴 Yes | 🟢 None | 🟢 None | 🟢 None |
305+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
306+
| Performance cost | 🟡 Medium | 🟡 Medium | 🔴 High | 🟢 Low | 🔴 Very High | 🟡 Medium |
307+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
308+
| Forward+ | ✔️ Yes | ✔️ Yes | ✔️ Yes | ✔️ Yes | ✔️ Yes | ✔️ Yes |
309+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
310+
| Mobile | ✔️ Yes | ❌ No | ❌ No | ✔️ Yes | ✔️ Yes | ✔️ Yes |
311+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
312+
| Compatibility | ✔️ Yes | ❌ No | ❌ No | ❌ No | ✔️ Yes | ❌ No |
313+
+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
314+
315+
316+
.. [1] MSAA does not work well with materials with Alpha Scissor (1-bit transparency).
317+
This can be mitigated by enabling ``alpha antialiasing`` on the material.
318+
.. [2] TAA/FSR2 transparency antialiasing is most effective when using Alpha Scissor.
319+
.. [3] SSAA has some blur from bilinear downscaling. This can be mitigated by
320+
using an integer scaling factor of ``2.0``.

tutorials/3d/3d_rendering_limitations.rst

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -150,44 +150,3 @@ this feature. There are still several ways to avoid this problem:
150150
:alt: Transparency sorting comparison (alpha-blended materials on the left, alpha scissor materials on the right)
151151

152152
Transparency sorting comparison (alpha-blended materials on the left, alpha scissor materials on the right)
153-
154-
Multi-sample antialiasing
155-
-------------------------
156-
157-
.. seealso::
158-
159-
Antialiasing is explained in detail on the :ref:`doc_3d_antialiasing` page.
160-
161-
Multi-sample antialiasing (MSAA) takes multiple *coverage* samples at the edges
162-
of polygons when rendering objects. It does not increase the number of *color*
163-
samples used to render a scene. Here's what this means in practice:
164-
165-
- Edges of meshes will be smoothed out nicely (as well as supersampling would).
166-
- Transparent materials that use *alpha testing* (1-bit transparency) won't be smoothed out.
167-
- Specular aliasing ("sparkles" that appear on reflective surfaces) won't be reduced.
168-
169-
There are several ways to work around this limitation depending on your performance budget:
170-
171-
- To make specular aliasing less noticeable, open the Project Settings and enable
172-
**Rendering > Quality > Screen Space Filters > Screen Space Roughness Limiter**.
173-
This filter has a moderate cost on performance, so it should only be enabled if
174-
you actually need it.
175-
176-
- Enable fast approximate antialiasing (FXAA) in addition to (or instead of)
177-
MSAA. Since FXAA is a screen-space antialiasing method, it will smooth out
178-
anything. As a downside, FXAA also makes the scene appear blurrier, especially
179-
at resolutions below 1440p. FXAA also lacks temporal information, which means
180-
its impact on specular aliasing is limited.
181-
182-
- Enable temporal antialiasing (TAA) in addition to (or instead of) MSAA. Since
183-
TAA is a screen-space antialiasing method, it will smooth out anything. As a
184-
downside, TAA also makes the scene appear blurrier, especially at resolutions
185-
below 1440p. TAA provides superior quality compared to FXAA and can
186-
effectively combat specular aliasing. However, TAA has a greater performance
187-
cost compared to FXAA, and TAA can introduce ghosting artifacts with fast
188-
movement.
189-
190-
- Render the scene at a higher resolution by increasing the **Scaling 3D >
191-
Scale** project setting above ``1.0``. This technique is called supersample
192-
antialiasing (SSAA) and is very slow. Its use is generally only recommended
193-
for offline rendering.

0 commit comments

Comments
 (0)