From b2f04fce2d21c631c5a0d4e5015c8b7b0c0c8d0d Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Thu, 26 Mar 2020 08:18:07 +0100 Subject: 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. --- .../blender/draw/engines/workbench/workbench_effect_antialiasing.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'source/blender/draw') 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. */ -- cgit v1.2.3