Blender Git Loki
Git Commits -> Revision eba09b1
Revision eba09b1 by Sergey Sharybin (master) March 31, 2017, 23:27 (GMT) |
Blender 2.8: Hook of layer collections evaluation in DEG This moves selectability/visibility flag flush from some hardcoded places in the code to depsgraph. This way it is possible to simply tag depsgraph to update those flags and rest it'll do on its own. Using depsgraph for such flush is an overkill: those flags are fully static and can not be animated, so it doesn't really make sense to hook only those to depsgraph. However, in the future we will have overrides on collections, which ideally would need to be animatable and drivable and easiest way to support this is to do this on depsgraph level, so it ensures proper order of evaluation for animation and drivers. And it seems logical to do both overrides and flags flush from depsgraph from this point of view. This commit also includes the evaluation of IDProperty for collections, which basically are just another form of override. So once we implement the other kind of overrides the flushing and collection evaluation won't change. Patch by Sergey Sharybin and Dalai Felinto |
Commit Details:
Full Hash: eba09b1520c06df304bc353e93d7220b4e83b755
Parent Commit: 97b9afd
Committed By: Dalai Felinto
Lines Changed: +598, -306
2 Added Paths:
/source/blender/depsgraph/intern/builder/deg_builder_nodes_layer.cc (+121, -0) (View)
/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc (+134, -0) (View)
/source/blender/depsgraph/intern/builder/deg_builder_relations_layer.cc (+134, -0) (View)
25 Modified Paths:
/source/blender/blenkernel/BKE_layer.h (+30, -27) (Diff)
/source/blender/blenkernel/intern/collection.c (+0, -2) (Diff)
/source/blender/blenkernel/intern/layer.c (+132, -190) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -10) (Diff)
/source/blender/blenloader/intern/readfile.c (+3, -4) (Diff)
/source/blender/blenloader/intern/versioning_280.c (+0, -7) (Diff)
/source/blender/blenloader/intern/writefile.c (+0, -4) (Diff)
/source/blender/depsgraph/CMakeLists.txt (+2, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+12, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.h (+15, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+11, -9) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+7, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_type_defines.cc (+4, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+4, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+1, -2) (Diff)
/source/blender/editors/render/render_shading.c (+2, -0) (Diff)
/source/blender/editors/space_outliner/outliner_collections.c (+5, -0) (Diff)
/source/blender/editors/space_outliner/outliner_draw.c (+5, -8) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+2, -0) (Diff)
/source/blender/makesdna/DNA_layer_types.h (+5, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+1, -1) (Diff)
/source/blender/makesrna/intern/rna_scene.c (+87, -41) (Diff)
/source/blender/blenkernel/intern/collection.c (+0, -2) (Diff)
/source/blender/blenkernel/intern/layer.c (+132, -190) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -10) (Diff)
/source/blender/blenloader/intern/readfile.c (+3, -4) (Diff)
/source/blender/blenloader/intern/versioning_280.c (+0, -7) (Diff)
/source/blender/blenloader/intern/writefile.c (+0, -4) (Diff)
/source/blender/depsgraph/CMakeLists.txt (+2, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+12, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.h (+15, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+11, -9) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+7, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_type_defines.cc (+4, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+7, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+4, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+1, -2) (Diff)
/source/blender/editors/render/render_shading.c (+2, -0) (Diff)
/source/blender/editors/space_outliner/outliner_collections.c (+5, -0) (Diff)
/source/blender/editors/space_outliner/outliner_draw.c (+5, -8) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+2, -0) (Diff)
/source/blender/makesdna/DNA_layer_types.h (+5, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+1, -1) (Diff)
/source/blender/makesrna/intern/rna_scene.c (+87, -41) (Diff)