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 /source/blender/draw | |
parent | b0f9639733500e7c3deedc36c2ef6b9685a756ee (diff) |
EEVEE-Next: Add back option to disable TAA (Viewport Denoising
Diffstat (limited to 'source/blender/draw')
-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 |
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; |