[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