Run motion blur before TAA to reduce artifacts (#13574)

# Objective

- Reduce edge artifacts and noise in motion blur with TAA.

## Solution

- Reorder's motion blur and TAA, so TAA is run after motion blur.

## Testing

- Tested with built in examples, as well as some external test scenes.

Before:


![image](https://github.com/bevyengine/bevy/assets/2632925/5522b749-9235-4b11-b560-c35350ab4b92)


![image](https://github.com/bevyengine/bevy/assets/2632925/e675aa0d-de0d-4833-9c33-ba7b3cd79955)


After:


![image](https://github.com/bevyengine/bevy/assets/2632925/97261093-1b8e-41ab-840f-f999a4e15a6d)


![image](https://github.com/bevyengine/bevy/assets/2632925/70215d8f-2ec7-4835-9e2d-ccead8972a5e)
This commit is contained in:
Aevyrie 2024-05-30 06:52:02 -07:00 committed by GitHub
parent 32a44e14e6
commit c566ae7155
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -68,8 +68,8 @@ impl Plugin for TemporalAntiAliasPlugin {
Core3d, Core3d,
( (
Node3d::EndMainPass, Node3d::EndMainPass,
Node3d::MotionBlur, // Running before TAA reduces edge artifacts and noise
Node3d::Taa, Node3d::Taa,
Node3d::MotionBlur, // Run MB after TAA, else TAA will add motion artifacts
Node3d::Bloom, Node3d::Bloom,
Node3d::Tonemapping, Node3d::Tonemapping,
), ),