diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-07-21 17:05:51 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-07-21 17:41:51 +0300 |
commit | d431b1416b6eefa96d343a4d49c2871720393c7c (patch) | |
tree | 09a32c0bed13e4033d530c6f2dcc82e809ff3b03 | |
parent | b0f9639733500e7c3deedc36c2ef6b9685a756ee (diff) |
EEVEE-Next: Add back option to disable TAA (Viewport Denoising
-rw-r--r-- | release/scripts/startup/bl_ui/properties_render.py | 3 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee_next/eevee_film.cc | 8 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee_next/eevee_film.hh | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index 148dd3ce22d..f217df9b599 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -410,6 +410,9 @@ class RENDER_PT_eevee_next_sampling(RenderButtonsPanel, Panel): col.prop(props, "taa_render_samples", text="Render") col.prop(props, "taa_samples", text="Viewport") + col = layout.column() + col.prop(props, "use_taa_reprojection") + class RENDER_PT_eevee_indirect_lighting(RenderButtonsPanel, Panel): bl_label = "Indirect Lighting" diff --git a/source/blender/draw/engines/eevee_next/eevee_film.cc b/source/blender/draw/engines/eevee_next/eevee_film.cc index a1becaed9c4..d3b09beedaa 100644 --- a/source/blender/draw/engines/eevee_next/eevee_film.cc +++ b/source/blender/draw/engines/eevee_next/eevee_film.cc @@ -345,6 +345,8 @@ void Film::init(const int2 &extent, const rcti *output_rect) depth_tx_.clear(float4(0.0f)); } } + + force_disable_reprojection_ = (inst_.scene->eevee.flag & SCE_EEVEE_TAA_REPROJECTION) == 0; } void Film::sync() @@ -415,6 +417,12 @@ void Film::end_sync() { data_.use_reprojection = inst_.sampling.interactive_mode(); + /* Just bypass the reprojection and reset the accumulation. */ + if (force_disable_reprojection_ && inst_.sampling.is_reset()) { + data_.use_reprojection = false; + data_.use_history = false; + } + aovs_info.push_update(); sync_mist(); diff --git a/source/blender/draw/engines/eevee_next/eevee_film.hh b/source/blender/draw/engines/eevee_next/eevee_film.hh index c8ffa0e62c9..1be95b3ac6b 100644 --- a/source/blender/draw/engines/eevee_next/eevee_film.hh +++ b/source/blender/draw/engines/eevee_next/eevee_film.hh @@ -49,6 +49,8 @@ class Film { SwapChain<Texture, 2> weight_tx_; /** Extent used by the render buffers when rendering the main views. */ int2 render_extent_ = int2(-1); + /** User setting to disable reprojection. Useful for debugging or have a more precise render. */ + bool force_disable_reprojection_ = false; DRWPass *accumulate_ps_ = nullptr; |