diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-03-07 01:17:50 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-03-07 03:40:40 +0300 |
commit | aa07660201e28e764774069af36a1172cc5391ef (patch) | |
tree | ca979f734d77ce03114087af4829cabda5ce5536 /source/blender/draw | |
parent | 267e816b9a603026d951f8e8e318ceaed04ca944 (diff) |
Eevee: Fix garbage on the first frames when enabling volumetrics.
Was cause by newly added shader deferred compilation.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_volumes.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c index 0a1b0f7a52b..2dbce1379ec 100644 --- a/source/blender/draw/engines/eevee/eevee_volumes.c +++ b/source/blender/draw/engines/eevee/eevee_volumes.c @@ -360,7 +360,7 @@ void EEVEE_volumes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) if ((effects->enabled_effects & EFFECT_VOLUMETRIC) != 0) { const DRWContextState *draw_ctx = DRW_context_state_get(); Scene *scene = draw_ctx->scene; - DRWShadingGroup *grp; + DRWShadingGroup *grp = NULL; /* Quick breakdown of the Volumetric rendering: * @@ -404,7 +404,8 @@ void EEVEE_volumes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) DRW_shgroup_uniform_block(grp, "common_block", sldata->common_ubo); } } - else { + + if (grp == NULL) { /* If no world or volume material is present just clear the buffer with this drawcall */ grp = DRW_shgroup_empty_tri_batch_create(e_data.volumetric_clear_sh, psl->volumetric_world_ps, |