Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-05-03 22:54:18 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-05-03 23:16:08 +0300
commit94205e1d029511b2ab714a53d84de8c50a70fb39 (patch)
tree24c569fd0351d36c7a1d7b9c2bf58ba52235df30
parent947f8ba300090027304680c624c6257c41417a6b (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.
-rw-r--r--intern/cycles/scene/object.cpp4
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());
}