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
path: root/source
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 /source
parentb0f9639733500e7c3deedc36c2ef6b9685a756ee (diff)
EEVEE-Next: Add back option to disable TAA (Viewport Denoising
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_film.cc8
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_film.hh2
2 files changed, 10 insertions, 0 deletions
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;