From c566ae715549c5e43d8c3b714be4ae915456331d Mon Sep 17 00:00:00 2001 From: Aevyrie Date: Thu, 30 May 2024 06:52:02 -0700 Subject: [PATCH] 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) --- crates/bevy_core_pipeline/src/taa/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/bevy_core_pipeline/src/taa/mod.rs b/crates/bevy_core_pipeline/src/taa/mod.rs index c9e336a8eb..7bc25ebcc8 100644 --- a/crates/bevy_core_pipeline/src/taa/mod.rs +++ b/crates/bevy_core_pipeline/src/taa/mod.rs @@ -68,8 +68,8 @@ impl Plugin for TemporalAntiAliasPlugin { Core3d, ( Node3d::EndMainPass, + Node3d::MotionBlur, // Running before TAA reduces edge artifacts and noise Node3d::Taa, - Node3d::MotionBlur, // Run MB after TAA, else TAA will add motion artifacts Node3d::Bloom, Node3d::Tonemapping, ),