Blender Git Loki
Git Commits -> Revision 5f9a6ac
Revision 5f9a6ac by Jacques Lucke (temp-gpu-image-engine) December 15, 2021, 13:37 (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: 5f9a6ac183dafa0c3cb2aad7604bc6f10917a0c2
Parent Commit: 42ae2e4
Committed By: Jeroen Bakker
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)