Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-07-21 17:05:51 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-07-21 17:41:51 +0300
commitd431b1416b6eefa96d343a4d49c2871720393c7c (patch)
tree09a32c0bed13e4033d530c6f2dcc82e809ff3b03
parentb0f9639733500e7c3deedc36c2ef6b9685a756ee (diff)
EEVEE-Next: Add back option to disable TAA (Viewport Denoising
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py3
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_film.cc8
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_film.hh2
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;