Commit: bcc3cc8c8fd6468486654334ec0dd56f2b3e095c
Author: Lukas Tönne
Date: Sat Jul 23 14:30:40 2016 +0200
Branches: strand_nodes
https://developer.blender.org/rBbcc3cc8c8fd6468486654334ec0dd56f2b3e095c
Revert "Remove redundant dependency declaration from pynodes, which creates a
circular dependency."
This reverts commit ca85cb436db7dc9ff5e8df3172987b09f5a071c4.
Reverting the commit will break depsgraph updates for regular bvm functions
again, but is necessary
for making shader updates working. The problem here is that the update
operations for _dependent_
data (bvm functions, shaders, etc.) should not actually be part of the node
tree, but of the
respective dependent data components! So the previous method of invalidating
shaders as part
of the node tree operations is incorrect and the operation should be moved to
some other place.
Perhaps we need a dedicated depsnode for the bvm function cache, since there is
no single "owner"
of these functions that could take care of invalidation in the depsgraph.
===================================================================
M release/scripts/nodes/common_nodes.py
===================================================================
diff --git a/release/scripts/nodes/common_nodes.py
b/release/scripts/nodes/common_nodes.py
index 9504b64..95a251f 100644
--- a/release/scripts/nodes/common_nodes.py
+++ b/release/scripts/nodes/common_nodes.py
@@ -44,6 +44,9 @@ def enum_property_value_prop(name):
class NodeTreeBase():
def bvm_compile_dependencies(self, depsnode):
+ # own changes require recompile
+ depsnode.add_nodetree_relation(self, 'PARAMETERS')
+
for node in self.nodes:
node.compile_dependencies(depsnode)
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs