39 const float radius_squared = radius * radius;
48 float3 average_color(0.0f);
53 params, use_selection_masking, memory);
54 if (!point_selection.
is_empty() && do_points) {
61 view_positions[point_i]) < radius_squared)
63 average_color += float3(color.r, color.g, color.b);
69 params, use_selection_masking, memory);
70 if (!fill_selection.is_empty() && do_fill) {
75 fill_selection.foreach_index([&](
const int64_t curve_i) {
76 const IndexRange points = points_by_curve[curve_i];
80 curve_view_positions) < radius)
82 average_color += float3(color.r, color.g, color.b);
90 if (color_count <= 0) {
93 average_color = average_color / color_count;
95 const ColorGeometry4f mix_color(average_color.x, average_color.y, average_color.z, 1.0f);
100 params, use_selection_masking, memory);
101 if (!point_selection.
is_empty() && do_points) {
107 scene, brush, view_positions[point_i], extension_sample,
params.multi_frame_falloff);
115 params, use_selection_masking, memory);
116 if (!fill_selection.is_empty() && do_fill) {
122 const IndexRange points = points_by_curve[curve_i];
125 scene, brush, curve_view_positions, extension_sample,
params.multi_frame_falloff);
Scene * CTX_data_scene(const bContext *C)