Blender Git Loki
Git Commits -> Revision 8e2c9f2
Revision 8e2c9f2 by Jacques Lucke (master) December 14, 2021, 14:40 (GMT) |
Geometry Nodes: simplify using selection when evaluating fields We often had to use two `FieldEvaluator` instances to first evaluate the selection and then the remaining fields. Now both can be done with a single `FieldEvaluator`. This results in less boilerplate code in many cases. Performance is not affected by this change. In a separate patch we could improve performance by reusing evaluated sub-fields that are used by the selection and the other fields. Differential Revision: https://developer.blender.org/D13571 |
Commit Details:
Full Hash: 8e2c9f2dd3118bfdb69ccf0ab2b9f968a854aae4
Parent Commit: b44a500
Lines Changed: +180, -173
19 Modified Paths:
/source/blender/functions/FN_field.hh (+17, -0) (Diff)
/source/blender/functions/intern/field.cc (+33, -5) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc (+4, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instances_to_points.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc (+16, -17) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_mesh_to_points.cc (+9, -11) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_rotate_instances.cc (+11, -13) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_scale_instances.cc (+10, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc (+8, -11) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_id.cc (+8, -10) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc (+5, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_point_radius.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_position.cc (+9, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_shade_smooth.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_translate_instances.cc (+8, -10) (Diff)
/source/blender/functions/intern/field.cc (+33, -5) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc (+4, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instances_to_points.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc (+16, -17) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_mesh_to_points.cc (+9, -11) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_rotate_instances.cc (+11, -13) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_scale_instances.cc (+10, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc (+8, -11) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_id.cc (+8, -10) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc (+5, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_point_radius.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_position.cc (+9, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_shade_smooth.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc (+6, -8) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_translate_instances.cc (+8, -10) (Diff)