Commit: a6b7f3211205032b0b35bac489127d38ca6f004e Author: Jacques Lucke Date: Tue Nov 23 16:40:21 2021 +0100 Branches: blender-v3.0-release https://developer.blender.org/rBa6b7f3211205032b0b35bac489127d38ca6f004e
Fix T93297: incorrect eevee motion blur with geometry instances This disables motion blur for geometry instances in eevee, which did not work correctly anyway. See code comment for more details. Differential Revision: https://developer.blender.org/D13334 =================================================================== M source/blender/draw/engines/eevee/eevee_motion_blur.c =================================================================== diff --git a/source/blender/draw/engines/eevee/eevee_motion_blur.c b/source/blender/draw/engines/eevee/eevee_motion_blur.c index 1eff2a3af24..703518a32ec 100644 --- a/source/blender/draw/engines/eevee/eevee_motion_blur.c +++ b/source/blender/draw/engines/eevee/eevee_motion_blur.c @@ -29,6 +29,7 @@ #include "BKE_animsys.h" #include "BKE_camera.h" +#include "BKE_duplilist.h" #include "BKE_object.h" #include "BKE_screen.h" @@ -318,6 +319,14 @@ void EEVEE_motion_blur_cache_populate(EEVEE_ViewLayerData *UNUSED(sldata), return; } + const DupliObject *dup = DRW_object_get_dupli(ob); + if (dup != NULL && dup->ob->data != dup->ob_data) { + /* Geometry instances do not support motion blur correctly yet. The #key used in + * #motion_blur_deform_data_get has to take ids of instances (#DupliObject.persistent_id) into + * account. Otherwise it can't find matching geometry instances at different points in time. */ + return; + } + EEVEE_ObjectMotionData *mb_data = EEVEE_motion_blur_object_data_get( &effects->motion_blur, ob, false); _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
