[Bf-blender-cvs] [dde05cbcc27] blender2.8: Depsgraph: Directly linked objects should be priority for base flags over set scenes

Sergey Sharybin noreply at git.blender.org
Fri Nov 24 17:10:24 CET 2017


Commit: dde05cbcc27e4b6f067248c0b0519d1c130e5047
Author: Sergey Sharybin
Date:   Fri Nov 24 14:32:14 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBdde05cbcc27e4b6f067248c0b0519d1c130e5047

Depsgraph: Directly linked objects should be priority for base flags over set scenes

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
M	source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
index 092dec1f65e..c7966af76c6 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
@@ -91,14 +91,6 @@ void DepsgraphNodeBuilder::build_view_layer(Scene *scene,
 	/* timesource */
 	add_time_source();
 
-	/* build subgraph for set, and link this in... */
-	// XXX: depending on how this goes, that scene itself could probably store its
-	//      own little partial depsgraph?
-	if (scene->set != NULL) {
-		ViewLayer *set_view_layer = BKE_view_layer_from_scene_get(scene->set);
-		build_view_layer(scene->set, set_view_layer, DEG_ID_LINKED_VIA_SET);
-	}
-
 	/* Setup currently building context. */
 	scene_ = scene;
 
@@ -165,6 +157,12 @@ void DepsgraphNodeBuilder::build_view_layer(Scene *scene,
 	                   NULL,
 	                   DEG_OPCODE_PLACEHOLDER,
 	                   "Scene Eval");
+
+	/* Build all set scenes. */
+	if (scene->set != NULL) {
+		ViewLayer *set_view_layer = BKE_view_layer_from_scene_get(scene->set);
+		build_view_layer(scene->set, set_view_layer, DEG_ID_LINKED_VIA_SET);
+	}
 }
 
 }  // namespace DEG
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
index e5d69d98f1b..d23fdaacf08 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
@@ -70,14 +70,6 @@ namespace DEG {
 
 void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_layer)
 {
-	if (scene->set != NULL) {
-		ViewLayer *set_view_layer = BKE_view_layer_from_scene_get(scene->set);
-		build_view_layer(scene->set, set_view_layer);
-	}
-
-	graph_->scene = scene;
-	graph_->view_layer = view_layer;
-
 	/* Setup currently building context. */
 	scene_ = scene;
 
@@ -136,6 +128,15 @@ void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_la
 			object->customdata_mask |= node->customdata_mask;
 		}
 	}
+
+	/* Build all set scenes. */
+	if (scene->set != NULL) {
+		ViewLayer *set_view_layer = BKE_view_layer_from_scene_get(scene->set);
+		build_view_layer(scene->set, set_view_layer);
+	}
+
+	graph_->scene = scene;
+	graph_->view_layer = view_layer;
 }
 
 }  // namespace DEG



More information about the Bf-blender-cvs mailing list