diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-05-03 22:54:18 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-05-03 23:16:08 +0300 |
commit | 94205e1d029511b2ab714a53d84de8c50a70fb39 (patch) | |
tree | 24c569fd0351d36c7a1d7b9c2bf58ba52235df30 /intern | |
parent | 947f8ba300090027304680c624c6257c41417a6b (diff) |
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.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/scene/object.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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()); } |