diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2020-03-26 10:18:07 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2020-03-26 10:22:52 +0300 |
commit | b2f04fce2d21c631c5a0d4e5015c8b7b0c0c8d0d (patch) | |
tree | 57d959be6550d2425bad41a1be59e1b0bb7c4845 /source/blender/draw/engines/workbench | |
parent | bae9553848fb9e81431ce3b0bbc1f5b23da0dd16 (diff) |
Fix T75062: Frame Flashes During 3D Viewport Animation Playback
This issue became visible after fixing other TAA issues recently.
The sample count of the first frame wasn't reset resulting that the
incorrect resolve took place. This issue was already there beforehand,
it is just much clearer during the recent changes.
Now the `taa_sample will be reset when performing an animation playback
in the 3d viewport.
Diffstat (limited to 'source/blender/draw/engines/workbench')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_effect_antialiasing.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_effect_antialiasing.c b/source/blender/draw/engines/workbench/workbench_effect_antialiasing.c index cbc146bb7fe..a0db09e9273 100644 --- a/source/blender/draw/engines/workbench/workbench_effect_antialiasing.c +++ b/source/blender/draw/engines/workbench/workbench_effect_antialiasing.c @@ -168,9 +168,9 @@ void workbench_antialiasing_engine_init(WORKBENCH_Data *vedata) wpd->view = NULL; - /* reset complete drawing when navigating. */ + /* reset complete drawing when navigating or during viewport playback. */ if (wpd->taa_sample != 0) { - if (wpd->is_navigating) { + if (wpd->is_navigating || wpd->is_playback) { wpd->taa_sample = 0; } } @@ -424,7 +424,6 @@ void workbench_antialiasing_draw_pass(WORKBENCH_Data *vedata) const bool last_sample = wpd->taa_sample + 1 == wpd->taa_sample_len; const bool taa_finished = wpd->taa_sample >= wpd->taa_sample_len; - if (wpd->taa_sample == 0) { /* In playback mode, we are sure the next redraw will not use the same viewmatrix. * In this case no need to save the depth buffer. */ |