Blender Git Loki
Git Commits -> Revision 0081200
Revision 0081200 by Jacques Lucke (master) August 20, 2021, 11:14 (GMT) |
Functions: remove multi-function network The multi-function network system was able to compose multiple multi-functions into a new one and to evaluate that efficiently. This functionality was heavily used by the particle nodes prototype a year ago. However, since then we only used multi-functions without the need to compose them in geometry nodes. The upcoming "fields" in geometry nodes will need a way to compose multi-functions again. Unfortunately, the code removed in this commit was not ideal for this different kind of function composition. I've been working on an alternative that will be added separately when it becomes needed. I've had to update all the function nodes, because their interface depended on the multi-function network data structure a bit. The actual multi-function implementations are still the same though. |
Commit Details:
Full Hash: 00812008129bdab48d328775b09332af12118867
Parent Commit: 7d8c71e
Lines Changed: +534, -3973
3 Added Paths:
/source/blender/functions/tests/FN_multi_function_test_common.hh (+174, -0) (View)
/source/blender/nodes/intern/node_multi_function.cc (+40, -0) (View)
/source/blender/nodes/NOD_multi_function.hh (+130, -0) (View)
/source/blender/nodes/intern/node_multi_function.cc (+40, -0) (View)
/source/blender/nodes/NOD_multi_function.hh (+130, -0) (View)
11 Deleted Paths:
/source/blender/functions/FN_multi_function_network.hh (+0, -536)
/source/blender/functions/FN_multi_function_network_evaluation.hh (+0, -62)
/source/blender/functions/FN_multi_function_network_optimization.hh (+0, -29)
/source/blender/functions/intern/multi_function_network.cc (+0, -330)
/source/blender/functions/intern/multi_function_network_evaluation.cc (+0, -1083)
/source/blender/functions/intern/multi_function_network_optimization.cc (+0, -501)
/source/blender/functions/tests/FN_multi_function_network_test.cc (+0, -280)
/source/blender/nodes/intern/node_tree_multi_function.cc (+0, -409)
/source/blender/nodes/intern/type_callbacks.cc (+0, -60)
/source/blender/nodes/NOD_node_tree_multi_function.hh (+0, -390)
/source/blender/nodes/NOD_type_callbacks.hh (+0, -34)
/source/blender/functions/FN_multi_function_network_evaluation.hh (+0, -62)
/source/blender/functions/FN_multi_function_network_optimization.hh (+0, -29)
/source/blender/functions/intern/multi_function_network.cc (+0, -330)
/source/blender/functions/intern/multi_function_network_evaluation.cc (+0, -1083)
/source/blender/functions/intern/multi_function_network_optimization.cc (+0, -501)
/source/blender/functions/tests/FN_multi_function_network_test.cc (+0, -280)
/source/blender/nodes/intern/node_tree_multi_function.cc (+0, -409)
/source/blender/nodes/intern/type_callbacks.cc (+0, -60)
/source/blender/nodes/NOD_node_tree_multi_function.hh (+0, -390)
/source/blender/nodes/NOD_type_callbacks.hh (+0, -34)
31 Modified Paths:
/source/blender/blenkernel/BKE_node.h (+5, -10) (Diff)
/source/blender/blenkernel/intern/simulation.cc (+0, -4) (Diff)
/source/blender/functions/CMakeLists.txt (+0, -7) (Diff)
/source/blender/functions/FN_generic_virtual_array.hh (+1, -1) (Diff)
/source/blender/functions/FN_multi_function_signature.hh (+15, -0) (Diff)
/source/blender/functions/tests/FN_multi_function_test.cc (+4, -88) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+3, -2) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.cc (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.hh (+4, -2) (Diff)
/source/blender/nodes/CMakeLists.txt (+2, -4) (Diff)
/source/blender/nodes/function/nodes/node_fn_boolean_math.cc (+10, -9) (Diff)
/source/blender/nodes/function/nodes/node_fn_float_compare.cc (+13, -12) (Diff)
/source/blender/nodes/function/nodes/node_fn_float_to_int.cc (+10, -9) (Diff)
/source/blender/nodes/function/nodes/node_fn_input_string.cc (+6, -6) (Diff)
/source/blender/nodes/function/nodes/node_fn_input_vector.cc (+4, -6) (Diff)
/source/blender/nodes/function/nodes/node_fn_random_float.cc (+5, -4) (Diff)
/source/blender/nodes/function/node_function_util.hh (+1, -1) (Diff)
/source/blender/nodes/intern/node_geometry_exec.cc (+0, -1) (Diff)
/source/blender/nodes/intern/node_socket.cc (+0, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_clamp.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_curves.cc (+8, -6) (Diff)
/source/blender/nodes/shader/nodes/node_shader_map_range.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_math.cc (+40, -27) (Diff)
/source/blender/nodes/shader/nodes/node_shader_mixRgb.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_valToRgb.cc (+4, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_value.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_vector_math.cc (+14, -14) (Diff)
/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc (+18, -19) (Diff)
/source/blender/nodes/shader/node_shader_util.h (+1, -1) (Diff)
/source/blender/blenkernel/intern/simulation.cc (+0, -4) (Diff)
/source/blender/functions/CMakeLists.txt (+0, -7) (Diff)
/source/blender/functions/FN_generic_virtual_array.hh (+1, -1) (Diff)
/source/blender/functions/FN_multi_function_signature.hh (+15, -0) (Diff)
/source/blender/functions/tests/FN_multi_function_test.cc (+4, -88) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+3, -2) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.cc (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.hh (+4, -2) (Diff)
/source/blender/nodes/CMakeLists.txt (+2, -4) (Diff)
/source/blender/nodes/function/nodes/node_fn_boolean_math.cc (+10, -9) (Diff)
/source/blender/nodes/function/nodes/node_fn_float_compare.cc (+13, -12) (Diff)
/source/blender/nodes/function/nodes/node_fn_float_to_int.cc (+10, -9) (Diff)
/source/blender/nodes/function/nodes/node_fn_input_string.cc (+6, -6) (Diff)
/source/blender/nodes/function/nodes/node_fn_input_vector.cc (+4, -6) (Diff)
/source/blender/nodes/function/nodes/node_fn_random_float.cc (+5, -4) (Diff)
/source/blender/nodes/function/node_function_util.hh (+1, -1) (Diff)
/source/blender/nodes/intern/node_geometry_exec.cc (+0, -1) (Diff)
/source/blender/nodes/intern/node_socket.cc (+0, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_clamp.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_curves.cc (+8, -6) (Diff)
/source/blender/nodes/shader/nodes/node_shader_map_range.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_math.cc (+40, -27) (Diff)
/source/blender/nodes/shader/nodes/node_shader_mixRgb.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc (+4, -4) (Diff)
/source/blender/nodes/shader/nodes/node_shader_valToRgb.cc (+4, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_value.cc (+3, -3) (Diff)
/source/blender/nodes/shader/nodes/node_shader_vector_math.cc (+14, -14) (Diff)
/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc (+18, -19) (Diff)
/source/blender/nodes/shader/node_shader_util.h (+1, -1) (Diff)