Blender Git Loki
Git Commits -> Revision 0a90765
Revision 0a90765 by Jacques Lucke (master) June 8, 2020, 15:37 (GMT) |
Functions: Run-time type system and index mask This adds a new `CPPType` that encapsulates information about how to handle instances of a specific data type. This is necessary for the function evaluation system, which will be used to evaluate most of the particle node trees. Furthermore, this adds an `IndexMask` class which offers a surprisingly useful abstraction over an array containing unsigned integers. It makes two assumptions about the underlying integer array: * The integers are in ascending order. * There are no duplicates. `IndexMask` will be used to "select" certain particles that will be processed in a data-oriented way. Sometimes, operations don't have to be applied to all particles, but only some, those that are in the indexed by the `IndexMask`. The two limitations imposed by an `IndexMask` allow for better performance. Reviewers: brecht Differential Revision: https://developer.blender.org/D7957 |
Commit Details:
Full Hash: 0a907657d4d525d320e0c8518f583b7210736214
Parent Commit: b5846eb
Lines Changed: +1448, -0
8 Added Paths:
/source/blender/blenlib/BLI_index_mask.hh (+212, -0) (View)
/source/blender/functions/CMakeLists.txt (+40, -0) (View)
/source/blender/functions/FN_cpp_type.hh (+726, -0) (View)
/source/blender/functions/FN_cpp_types.hh (+48, -0) (View)
/source/blender/functions/intern/cpp_types.cc (+41, -0) (View)
/tests/gtests/blenlib/BLI_index_mask_test.cc (+39, -0) (View)
/tests/gtests/functions/CMakeLists.txt (+39, -0) (View)
/tests/gtests/functions/FN_cpp_type_test.cc (+299, -0) (View)
/source/blender/functions/CMakeLists.txt (+40, -0) (View)
/source/blender/functions/FN_cpp_type.hh (+726, -0) (View)
/source/blender/functions/FN_cpp_types.hh (+48, -0) (View)
/source/blender/functions/intern/cpp_types.cc (+41, -0) (View)
/tests/gtests/blenlib/BLI_index_mask_test.cc (+39, -0) (View)
/tests/gtests/functions/CMakeLists.txt (+39, -0) (View)
/tests/gtests/functions/FN_cpp_type_test.cc (+299, -0) (View)