[Bf-blender-cvs] [94205e1d029] blender-v3.2-release: Fix T96822: Cycles motion blur + persistent data not updating properly

Brecht Van Lommel noreply at git.blender.org
Tue May 3 22:34:28 CEST 2022


Commit: 94205e1d029511b2ab714a53d84de8c50a70fb39
Author: Brecht Van Lommel
Date:   Tue May 3 21:54:18 2022 +0200
Branches: blender-v3.2-release
https://developer.blender.org/rB94205e1d029511b2ab714a53d84de8c50a70fb39

Fix T96822: Cycles motion blur + persistent data not updating properly

At the frame before/after an object starts moving, it's transform may not be
modified but its motion would be and requires an update.

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

M	intern/cycles/scene/object.cpp

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

diff --git a/intern/cycles/scene/object.cpp b/intern/cycles/scene/object.cpp
index 676cc78a11f..8015be6393b 100644
--- a/intern/cycles/scene/object.cpp
+++ b/intern/cycles/scene/object.cpp
@@ -220,7 +220,7 @@ void Object::tag_update(Scene *scene)
   }
 
   if (geometry) {
-    if (tfm_is_modified()) {
+    if (tfm_is_modified() || motion_is_modified()) {
       flag |= ObjectManager::TRANSFORM_MODIFIED;
     }
 
@@ -480,7 +480,7 @@ void ObjectManager::device_update_object_transform(UpdateObjectTransformState *s
       kobject.motion_offset = state->motion_offset[ob->index];
 
       /* Decompose transforms for interpolation. */
-      if (ob->tfm_is_modified() || update_all) {
+      if (ob->tfm_is_modified() || ob->motion_is_modified() || update_all) {
         DecomposedTransform *decomp = state->object_motion + kobject.motion_offset;
         transform_motion_decompose(decomp, ob->motion.data(), ob->motion.size());
       }



More information about the Bf-blender-cvs mailing list