[Bf-blender-cvs] [85fe12071ad] blender-v2.92-release: Fix T85261: Eevee passes have slight inaccurate colors
Philipp Oeser
noreply at git.blender.org
Wed Feb 3 15:53:13 CET 2021
Commit: 85fe12071ad7f7f866b2f2e213ee291dc607b38d
Author: Philipp Oeser
Date: Tue Feb 2 17:27:12 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rB85fe12071ad7f7f866b2f2e213ee291dc607b38d
Fix T85261: Eevee passes have slight inaccurate colors
In everything in `EEVEE_renderpasses_postprocess` (or the corresponding
renderpass_postprocess_frag.glsl) colors get divided by a
'currentSample'.
This 'currentSample' is always incremented in
`EEVEE_temporal_sampling_draw` (and also one more time before we reach
`EEVEE_renderpasses_postprocess`.
This results in a "off-by-one", slightly inacurate colors and slight
inaccurate transparency (in certain passes like AOVs).
Now decrement the currentSample `EEVEE_renderpasses_postprocess` again
by one to compensate.
Maniphest Tasks: T85261
Differential Revision: https://developer.blender.org/D10286
===================================================================
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 ce5292fbbb0..52160248d75 100644
--- a/source/blender/draw/engines/eevee/eevee_renderpasses.c
+++ b/source/blender/draw/engines/eevee/eevee_renderpasses.c
@@ -282,7 +282,9 @@ void EEVEE_renderpasses_postprocess(EEVEE_ViewLayerData *UNUSED(sldata),
EEVEE_PrivateData *g_data = stl->g_data;
EEVEE_EffectsInfo *effects = stl->effects;
- const int current_sample = effects->taa_current_sample;
+ /* Compensate for taa_current_sample being incremented after last drawing in
+ * EEVEE_temporal_sampling_draw. */
+ const int current_sample = effects->taa_current_sample - 1;
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