Blender Git Loki
Git Commits -> Revision f846846
Revision f846846 by Sergey Sharybin (master) August 29, 2017, 10:58 (GMT) |
Depsgraph: Fix missing updates when tweaking node tree parameters The is following: split copy on write update for node trees, and if we are only tagging for uniform buffer update we skip whole datablock copy and only invoke copy default_values form original nodetree to a copied one. Thing which i'm not sure is: whether we need to use different branches in graph itself to control such a conditional behavior, or whether we need to store tag somewhere in the dependency graph. There are obviously cons and pros in both approaches, and need to think about this. Maybe with more examples it becomes more obvious which way is better. This only fixes manual tweaks for now, animation support is coming. |
Commit Details:
Full Hash: f84684694113f60e9d8de5e30c7af8f340e52106
Parent Commit: c158266
Lines Changed: +72, -14
10 Modified Paths:
/source/blender/blenkernel/BKE_node.h (+5, -0) (Diff)
/source/blender/blenkernel/intern/node.c (+13, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+10, -5) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+8, -0) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+8, -4) (Diff)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+7, -2) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+1, -0) (Diff)
/source/blender/depsgraph/intern/eval/deg_eval_flush.cc (+7, -3) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+6, -0) (Diff)
/source/blender/blenkernel/intern/node.c (+13, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+10, -5) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+8, -0) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+8, -4) (Diff)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+7, -2) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+1, -0) (Diff)
/source/blender/depsgraph/intern/eval/deg_eval_flush.cc (+7, -3) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+6, -0) (Diff)