diff options
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_engine.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index 1f178fb1302..fe802e6d627 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -97,9 +97,14 @@ static void EEVEE_cache_populate(void *vedata, Object *ob) const bool cast_shadow = true; if (cast_shadow) { - BLI_addtail(&sldata->shadow_casters, BLI_genericNodeN(ob)); - EEVEE_ObjectEngineData *oedata = EEVEE_object_data_get(ob); - oedata->need_update = ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0); + if ((ob->base_flag & BASE_FROMDUPLI) != 0) { + /* TODO: Special case for dupli objects because we cannot save the object pointer. */ + } + else { + BLI_addtail(&sldata->shadow_casters, BLI_genericNodeN(ob)); + EEVEE_ObjectEngineData *oedata = EEVEE_object_data_get(ob); + oedata->need_update = ((ob->deg_update_flag & DEG_RUNTIME_DATA_UPDATE) != 0); + } } } else if (ob->type == OB_LIGHTPROBE) { |