tornavis/source/blender/geometry
Iliay Katueshenock 55a332da64 Attribute Math: Improve performance of mixer in some cases
The `DefaultMixer` for mixing generic data types has some issues:
1. The full buffer is always zeroed, even if only some is used.
2. Finalizing also works on all values, even if only some are used.
3. "mixing" doesn't allow setting the first value, requiring that
everything is cleared beforehand.

This commit adds the following functionality:
1. Constructor with the specified `IndexMask` for preliminary zeroing.
2. `set` method to overwrite the value.
3. `finalize` with the specified mask to process a subset of values.

This is useful in situations where you want to use the
DefaultMixer without having to overwrite all the values many times.

A performance improvement was observed for NURBS curve evaluation and
attribute interpolation from the point to curve domain of about 15% and
35% respectively (100,000 curves).

Differential Revision: https://developer.blender.org/D15434
2022-08-03 10:18:02 -05:00
..
intern Attribute Math: Improve performance of mixer in some cases 2022-08-03 10:18:02 -05:00
CMakeLists.txt Curves: Port fillet node to the new data-block 2022-07-19 18:50:27 -05:00
GEO_add_curves_on_mesh.hh Curves: add warning when invalid uv map is used when adding curves 2022-07-25 11:42:27 +02:00
GEO_fillet_curves.hh Curves: Port fillet node to the new data-block 2022-07-19 18:50:27 -05:00
GEO_mesh_merge_by_distance.hh File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
GEO_mesh_primitive_cuboid.hh Cleanup: Deduplicate Alembic procedural bounding box mesh creation 2022-05-17 09:41:32 +02:00
GEO_mesh_to_curve.hh Geometry Nodes: Shortest Paths nodes 2022-07-27 15:38:44 +02:00
GEO_mesh_to_volume.hh Geometry Nodes: Only calculate mesh to volume bounds when necessary 2022-06-29 12:28:08 -05:00
GEO_point_merge_by_distance.hh Cleanup: Access attributes with new API instead of geometry components 2022-07-19 22:34:32 -05:00
GEO_realize_instances.hh Cleanup: Remove unused function 2022-04-04 10:28:10 -05:00
GEO_resample_curves.hh Cleanup: spelling in comments 2022-05-11 11:02:01 +10:00
GEO_reverse_uv_sampler.hh BLI: use a slightly less trivial reverse uv sampler 2022-07-05 15:36:00 +02:00
GEO_set_curve_type.hh Geometry Nodes: Copy parameters when copying a curves data-block 2022-07-19 10:16:30 -05:00
GEO_subdivide_curves.hh Geometry Nodes: Copy parameters when copying a curves data-block 2022-07-19 10:16:30 -05:00
GEO_uv_parametrizer.h Fix T99684: Upgrade Averages Island Scale with options Scale UV and Shear 2022-07-14 15:42:08 +12:00