Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-10-02 21:02:21 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-10-02 21:02:21 +0300
commitc548c76804e49d8c708aa42dacb87c5df1321d00 (patch)
tree98b5cd2752a11f488678c66240db6f825436ef83 /source/blender/draw/engines
parent5f7192018eb81af1cf406999d8d7871b4f47cd31 (diff)
Eevee : Fix ghosting from probe data when toggling "only render".
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/eevee/eevee_effects.c4
-rw-r--r--source/blender/draw/engines/eevee/eevee_private.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c
index aa843e6e4c1..d039f470000 100644
--- a/source/blender/draw/engines/eevee/eevee_effects.c
+++ b/source/blender/draw/engines/eevee/eevee_effects.c
@@ -530,6 +530,10 @@ void EEVEE_effects_init(EEVEE_SceneLayerData *sldata, EEVEE_Data *vedata)
view_is_valid = view_is_valid && compare_m4m4(persmat, effects->prev_drw_persmat, FLT_MIN);
copy_m4_m4(effects->prev_drw_persmat, persmat);
+ /* Prevent ghosting from probe data. */
+ view_is_valid = view_is_valid && (effects->prev_drw_support == DRW_state_draw_support());
+ effects->prev_drw_support = DRW_state_draw_support();
+
if (view_is_valid &&
((effects->taa_total_sample == 0) ||
(effects->taa_current_sample < effects->taa_total_sample)))
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index 3267b13e6ab..392b4bfe24a 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -376,6 +376,7 @@ typedef struct EEVEE_EffectsInfo {
int taa_current_sample;
int taa_total_sample;
float taa_alpha;
+ bool prev_drw_support;
float prev_drw_persmat[4][4];
float overide_persmat[4][4];
float overide_persinv[4][4];