Depsgraph: Add missing relation from proxy group

Transform evaluation does depend on that matrix, but relation was never
in dependency graph. It was not even in the old dependency graph, which
makes me wonder how this thing worked reliably to begin with.

Should fix flickering issue in the render farm.
This commit is contained in:
Sergey Sharybin 2018-06-21 15:56:06 +02:00
parent a0f1bd8ed1
commit b350edc207
Notes: blender-bot 2023-05-03 10:14:48 +02:00
Referenced by commit 44f9a502e7, Depsgraph: Correct relations for proxy group
Referenced by issue #55322, Motion blur render failure
2 changed files with 7 additions and 3 deletions

View File

@ -538,10 +538,10 @@ void DepsgraphNodeBuilder::build_object(int base_index,
build_gpencil(object->gpd);
}
/* Proxy object to copy from. */
if (object->proxy_from) {
if (object->proxy_from != NULL) {
build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY);
}
if (object->proxy_group) {
if (object->proxy_group != NULL) {
build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY);
}
/* Object dupligroup. */

View File

@ -596,8 +596,12 @@ void DepsgraphRelationBuilder::build_object(Base *base, Object *object)
ComponentKey proxy_transform_key(&object->id, DEG_NODE_TYPE_TRANSFORM);
add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform");
}
if (object->proxy_group) {
if (object->proxy_group != NULL) {
build_object(NULL, object->proxy_group);
OperationKey proxy_group_ubereval_key(&object->proxy_group->id,
DEG_NODE_TYPE_TRANSFORM,
DEG_OPCODE_TRANSFORM_OBJECT_UBEREVAL);
add_relation(proxy_group_ubereval_key, final_transform_key, "Proxy Group Transform");
}
/* Object dupligroup. */
if (object->dup_group != NULL) {