[Bf-blender-cvs] [8d7ec519dff] master: Depsgraph: Add missing handlers of node IDs

Sergey Sharybin noreply at git.blender.org
Thu Nov 9 10:38:06 CET 2017


Commit: 8d7ec519dff93b04fdec548aeef4b90137d788c8
Author: Sergey Sharybin
Date:   Thu Nov 9 09:46:50 2017 +0100
Branches: master
https://developer.blender.org/rB8d7ec519dff93b04fdec548aeef4b90137d788c8

Depsgraph: Add missing handlers of node IDs

Worst thing was that point density did not pull object into dependency graph,
which could lead to wrong render results.

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

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 fdbd4100640..7ac94141f39 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -970,6 +970,14 @@ void DepsgraphNodeBuilder::build_nodetree(bNodeTree *ntree)
 		else if (id_type == ID_IM) {
 			build_image((Image *)id);
 		}
+		else if (id_type == ID_OB) {
+			build_object(NULL, (Object *)id);
+		}
+		else if (id_type == ID_SCE) {
+			/* Scenes are used by compositor trees, and handled by render
+			 * pipeline. No need to build dependencies for them here.
+			 */
+		}
 		else if (bnode->type == NODE_GROUP) {
 			bNodeTree *group_ntree = (bNodeTree *)id;
 			if ((group_ntree->id.tag & LIB_TAG_DOIT) == 0) {
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 883a756eef1..3448525a50d 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1721,6 +1721,14 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree)
 		else if (id_type == ID_IM) {
 			/* nothing for now. */
 		}
+		else if (id_type == ID_OB) {
+			build_object((Object *)id);
+		}
+		else if (id_type == ID_SCE) {
+			/* Scenes are used by compositor trees, and handled by render
+			 * pipeline. No need to build dependencies for them here.
+			 */
+		}
 		else if (bnode->type == NODE_GROUP) {
 			bNodeTree *group_ntree = (bNodeTree *)id;
 			if ((group_ntree->id.tag & LIB_TAG_DOIT) == 0) {



More information about the Bf-blender-cvs mailing list