[Bf-blender-cvs] [42c346028f5] master: Fix missing relation in new DEG between World and its NodeTree.

Bastien Montagne noreply at git.blender.org
Wed May 10 20:36:24 CEST 2017


Commit: 42c346028f535968dfb90ca446e794dd2bc874f9
Author: Bastien Montagne
Date:   Wed May 10 10:31:33 2017 +0200
Branches: master
https://developer.blender.org/rB42c346028f535968dfb90ca446e794dd2bc874f9

Fix missing relation in new DEG between World and its NodeTree.

Was preventing update in 3DView etc. when changing something in the
World's NodeTree, especially annoying in blender2.8 branch (since legacy
depsgraph has been removed there), but also affecting master.

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

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 7df9fe0bdc8..bd07bf449ae 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -653,12 +653,13 @@ void DepsgraphNodeBuilder::build_world(World *world)
 		return;
 	}
 
-	/* world itself */
-	add_id_node(world_id); /* world shading/params? */
-
 	build_animdata(world_id);
 
-	/* TODO: other settings? */
+	/* world itself */
+	add_component_node(world_id, DEPSNODE_TYPE_PARAMETERS);
+
+	add_operation_node(world_id, DEPSNODE_TYPE_PARAMETERS, DEPSOP_TYPE_EXEC, NULL,
+	                   DEG_OPCODE_PLACEHOLDER, "Parameters Eval");
 
 	/* textures */
 	build_texture_stack(world->mtex);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 2dae3daaab2..d66ab5b1e68 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1129,7 +1129,13 @@ void DepsgraphRelationBuilder::build_world(World *world)
 	build_texture_stack(world->mtex);
 
 	/* world's nodetree */
-	build_nodetree(world->nodetree);
+	if (world->nodetree != NULL) {
+		build_nodetree(world->nodetree);
+		ComponentKey ntree_key(&world->nodetree->id, DEPSNODE_TYPE_PARAMETERS);
+		ComponentKey world_key(world_id, DEPSNODE_TYPE_PARAMETERS);
+		add_relation(ntree_key, world_key,
+		             DEPSREL_TYPE_COMPONENT_ORDER, "NTree->World Parameters");
+	}
 }
 
 void DepsgraphRelationBuilder::build_rigidbody(Scene *scene)




More information about the Bf-blender-cvs mailing list