[Bf-blender-cvs] [e4e31e4f14e] blender-v2.83-release: Fix T76916: Cycles missing deform motion blur for shape key + subdiv modifier

Brecht Van Lommel noreply at git.blender.org
Wed May 20 18:00:49 CEST 2020


Commit: e4e31e4f14e7223b348cc0b9db6e2ac05012dd75
Author: Brecht Van Lommel
Date:   Wed May 20 17:54:47 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBe4e31e4f14e7223b348cc0b9db6e2ac05012dd75

Fix T76916: Cycles missing deform motion blur for shape key + subdiv modifier

===================================================================

M	source/blender/blenkernel/intern/object.c

===================================================================

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index de34b0cba69..849b42ccb2c 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -3876,6 +3876,10 @@ bool BKE_object_is_child_recursive(const Object *ob_parent, const Object *ob_chi
  * cases false positives are hard to avoid (shape keys for example) */
 int BKE_object_is_modified(Scene *scene, Object *ob)
 {
+  /* Always test on original object since evaluated object may no longer
+   * have shape keys or modifiers that were used to evaluate it. */
+  ob = DEG_get_original_object(ob);
+
   int flag = 0;
 
   if (BKE_key_from_object(ob)) {
@@ -4006,6 +4010,10 @@ static bool modifiers_has_animation_check(const Object *ob)
  * and we can still if there was actual deformation afterwards */
 int BKE_object_is_deform_modified(Scene *scene, Object *ob)
 {
+  /* Always test on original object since evaluated object may no longer
+   * have shape keys or modifiers that were used to evaluate it. */
+  ob = DEG_get_original_object(ob);
+
   ModifierData *md;
   VirtualModifierData virtualModifierData;
   int flag = 0;



More information about the Bf-blender-cvs mailing list