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:
2018-06-21 15:56:06 +02:00
parent a0f1bd8ed1
commit b350edc207
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) {