[Bf-blender-cvs] [faf48c0f647] master: Depsgraph: Ensure DOF object is always in the graph

Sergey Sharybin noreply at git.blender.org
Thu May 23 16:58:18 CEST 2019


Commit: faf48c0f6473df6798cdc1c672a7e40110cc8064
Author: Sergey Sharybin
Date:   Thu May 23 16:57:39 2019 +0200
Branches: master
https://developer.blender.org/rBfaf48c0f6473df6798cdc1c672a7e40110cc8064

Depsgraph: Ensure DOF object is always in the graph

Related in T60961.
Unfortunately, doesn't fix it yet. Needs deeper investigation.

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

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");



More information about the Bf-blender-cvs mailing list