Blender Git Commit Log
Git Commits -> Revision 37166ac
Revision 37166ac by Lukas Toenne (depsgraph_refactor) April 7, 2014, 16:09 (GMT) |
First steps towards a 2-pass builder system. Idea is to separate the construction of nodes from the declaration of relations between them. This gives a cleaner structure and allows better error handling. Two "builder" classes define the API for each build pass. This way the context variables (graph) can be accessed during building without having to pass them explicitly to every function. Specifying nodes in the relations pass works using keys rather than direct node pointers. This way the builder can perform error handling if one or both ends of the relation don't exist. Keys also don't require all the details necessary for actual construction of nodes (e.g. operation callback functions, description strings). This avoids redundant or conflicting information in graph->get_node calls and simplifies the code. Old build code has been moved to a (not included) source file depsgraph_build_deprecated.c to make porting more manageable. |
Commit Details:
Full Hash: 37166ac2e81bda20ccca1d88af0911ec9df21ca8
Parent Commit: 8b9ba7e
Lines Changed: +2234, -1336
2 Added Paths:
/source/blender/depsgraph/intern/depsgraph_build.h (+144, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_deprecated.cpp (+1609, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_deprecated.cpp (+1609, -0) (View)
5 Modified Paths:
/source/blender/depsgraph/CMakeLists.txt (+1, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph.cpp (+1, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph.h (+9, -52) (Diff)
/source/blender/depsgraph/intern/depsgraph_build.cpp (+420, -1283) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+50, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph.cpp (+1, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph.h (+9, -52) (Diff)
/source/blender/depsgraph/intern/depsgraph_build.cpp (+420, -1283) (Diff)
/source/blender/depsgraph/intern/depsgraph_types.h (+50, -0) (Diff)