From faf48c0f6473df6798cdc1c672a7e40110cc8064 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 23 May 2019 16:57:39 +0200 Subject: Depsgraph: Ensure DOF object is always in the graph Related in T60961. Unfortunately, doesn't fix it yet. Needs deeper investigation. --- source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 3 +++ source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 1 + 2 files changed, 4 insertions(+) (limited to 'source') diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index cc9e1d2a9da..93e5dd14ae0 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -1312,6 +1312,9 @@ void DepsgraphNodeBuilder::build_camera(Camera *camera) } build_animdata(&camera->id); build_parameters(&camera->id); + if (camera->dof.focus_object != NULL) { + build_object(-1, camera->dof.focus_object, DEG_ID_LINKED_INDIRECTLY, false); + } } void DepsgraphNodeBuilder::build_light(Light *lamp) diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 79f28973dc3..dcdd4e5cefb 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -2076,6 +2076,7 @@ void DepsgraphRelationBuilder::build_camera(Camera *camera) build_animdata(&camera->id); build_parameters(&camera->id); if (camera->dof.focus_object != NULL) { + build_object(NULL, camera->dof.focus_object); ComponentKey camera_parameters_key(&camera->id, NodeType::PARAMETERS); ComponentKey dof_ob_key(&camera->dof.focus_object->id, NodeType::TRANSFORM); add_relation(dof_ob_key, camera_parameters_key, "Camera DOF"); -- cgit v1.2.3