diff options
author | Jacques Lucke <jacques@blender.org> | 2020-06-23 11:16:14 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-06-23 11:16:14 +0300 |
commit | 3a3708cefb7ae87f53ce45b65754fbb857e945a1 (patch) | |
tree | cf8b1990fe698956a4c1e04cc245ee1f060a9bd4 /source/blender/functions/CMakeLists.txt | |
parent | c24b1c060dc7bcbcc8b6272a4726890f4885fcad (diff) |
Functions: Multi Function Network
A multi-function network is a graph data structure, where nodes are
multi-functions (or dummies) and links represent data flow.
New multi-functions can be derived from such a network. For that
one just has to specify two sets of sockets in the network that
represent the inputs and outputs of the new function.
It is possible to do optimizations like constant folding on this
data structure, but that is not implemented in this patch yet.
In a next step, user generated node trees are converted into a
MFNetwork, so that they can be evaluated efficiently for many particles.
This patch also includes some tests that cover the majority of the code.
However, this seems to be the kind of code that is best tested by some
.blend files. Building graph structures in code is possible, but is
not easy to understand afterwards.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D8049
Diffstat (limited to 'source/blender/functions/CMakeLists.txt')
-rw-r--r-- | source/blender/functions/CMakeLists.txt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/functions/CMakeLists.txt b/source/blender/functions/CMakeLists.txt index 0a080246d84..acaef1d146a 100644 --- a/source/blender/functions/CMakeLists.txt +++ b/source/blender/functions/CMakeLists.txt @@ -28,6 +28,8 @@ set(INC_SYS set(SRC intern/cpp_types.cc + intern/multi_function_network.cc + intern/multi_function_network_evaluation.cc FN_array_spans.hh FN_cpp_type.hh @@ -36,6 +38,8 @@ set(SRC FN_multi_function_builder.hh FN_multi_function_context.hh FN_multi_function_data_type.hh + FN_multi_function_network.hh + FN_multi_function_network_evaluation.hh FN_multi_function_param_type.hh FN_multi_function_params.hh FN_multi_function_signature.hh |