Blender Git Commit Log

Git Commits -> Revision 4365de3

Revision 4365de3 by Jacques Lucke (master)
June 16, 2020, 14:35 (GMT)
Functions: Multi Function

This adds the `MultiFunction` type and some smallish utility types that it uses.
A `MultiFunction` encapsulates a function that is optimized for throughput by
always processing many elements at once.

This is an important part of the new particle system, because it allows us to
execute user generated node trees for many particles efficiently.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D8030

Commit Details:

Full Hash: 4365de38700ccc05f98f601efdde0963de4645c1
Parent Commit: f721308
Lines Changed: +2246, -41

13 Added Paths:

/source/blender/functions/FN_array_spans.hh (+220, -0) (View)
/source/blender/functions/FN_generic_vector_array.hh (+181, -0) (View)
/source/blender/functions/FN_multi_function.hh (+106, -0) (View)
/source/blender/functions/FN_multi_function_context.hh (+49, -0) (View)
/source/blender/functions/FN_multi_function_data_type.hh (+125, -0) (View)
/source/blender/functions/FN_multi_function_params.hh (+236, -0) (View)
/source/blender/functions/FN_multi_function_param_type.hh (+155, -0) (View)
/source/blender/functions/FN_multi_function_signature.hh (+161, -0) (View)
/source/blender/functions/FN_spans.hh (+391, -0) (View)
/tests/gtests/functions/FN_array_spans_test.cc (+92, -0) (View)
/tests/gtests/functions/FN_generic_vector_array_test.cc (+101, -0) (View)
/tests/gtests/functions/FN_multi_function_test.cc (+222, -0) (View)
/tests/gtests/functions/FN_spans_test.cc (+159, -0) (View)

6 Modified Paths:

/source/blender/functions/CMakeLists.txt (+8, -0) (Diff)
/source/blender/functions/FN_cpp_type.hh (+30, -34) (Diff)
/source/blender/functions/FN_cpp_types.hh (+2, -2) (Diff)
/source/blender/functions/intern/cpp_types.cc (+2, -2) (Diff)
/tests/gtests/functions/CMakeLists.txt (+4, -0) (Diff)
/tests/gtests/functions/FN_cpp_type_test.cc (+2, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021