[Bf-blender-cvs] [75580fa6a66] blender-v2.92-release: Fix flashing eevee render passes in viewport

Philipp Oeser noreply at git.blender.org
Thu Feb 18 11:07:39 CET 2021


Commit: 75580fa6a661eba58f9d39f8332985b1b72d3bc3
Author: Philipp Oeser
Date:   Thu Feb 18 10:30:08 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rB75580fa6a661eba58f9d39f8332985b1b72d3bc3

Fix flashing eevee render passes in viewport

Caused by rB85fe12071ad7.

When looking at a render pass in viewport and move the camera, there's a
"flash" effect in this AOVs test file:

{F9753476}

{F9753473}

The cause seems to be that taa_current_sample when rendering
(DRW_state_is_image_render()) is ok because it has been incremented in
EEVEE_temporal_sampling_draw but taa_current_sample is wrong when we are
not rendering.

D10375 by Ulysse Martin (youle) with clang format changes.

Reviewed By: jbakker, lichtwerk, also blessing from fclem

Differential Revision: https://developer.blender.org/D10375

===================================================================

M	source/blender/draw/engines/eevee/eevee_renderpasses.c

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_renderpasses.c b/source/blender/draw/engines/eevee/eevee_renderpasses.c
index 52160248d75..9b36e94a9dc 100644
--- a/source/blender/draw/engines/eevee/eevee_renderpasses.c
+++ b/source/blender/draw/engines/eevee/eevee_renderpasses.c
@@ -283,8 +283,9 @@ void EEVEE_renderpasses_postprocess(EEVEE_ViewLayerData *UNUSED(sldata),
   EEVEE_EffectsInfo *effects = stl->effects;
 
   /* Compensate for taa_current_sample being incremented after last drawing in
-   * EEVEE_temporal_sampling_draw. */
-  const int current_sample = effects->taa_current_sample - 1;
+   * EEVEE_temporal_sampling_draw when DRW_state_is_image_render(). */
+  const int current_sample = DRW_state_is_image_render() ? effects->taa_current_sample - 1 :
+                                                           effects->taa_current_sample;
   g_data->renderpass_current_sample = current_sample;
   g_data->renderpass_type = renderpass_type;
   g_data->renderpass_postprocess = PASS_POST_UNDEFINED;



More information about the Bf-blender-cvs mailing list