diff options
Diffstat (limited to 'source/blender/editors/sculpt_paint/curves_sculpt_add.cc')
-rw-r--r-- | source/blender/editors/sculpt_paint/curves_sculpt_add.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc index 0d2c2d3f0c9..322cdd1d8eb 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc @@ -90,7 +90,7 @@ struct AddOperationExecutor { Object *surface_ob_eval_ = nullptr; Mesh *surface_eval_ = nullptr; - Span<MVert> surface_verts_eval_; + Span<float3> surface_positions_eval_; Span<MLoop> surface_loops_eval_; Span<MLoopTri> surface_looptris_eval_; VArraySpan<float2> surface_uv_map_eval_; @@ -142,7 +142,7 @@ struct AddOperationExecutor { report_empty_evaluated_surface(stroke_extension.reports); return; } - surface_verts_eval_ = surface_eval_->verts(); + surface_positions_eval_ = surface_eval_->positions(); surface_loops_eval_ = surface_eval_->loops(); surface_looptris_eval_ = surface_eval_->looptris(); BKE_bvhtree_from_mesh_get(&surface_bvh_eval_, surface_eval_, BVHTREE_FROM_LOOPTRI, 2); @@ -295,7 +295,7 @@ struct AddOperationExecutor { const MLoopTri &looptri = surface_looptris_eval_[looptri_index]; const float3 brush_pos_su = ray_hit.co; const float3 bary_coords = bke::mesh_surface_sample::compute_bary_coord_in_triangle( - surface_verts_eval_, surface_loops_eval_, looptri, brush_pos_su); + surface_positions_eval_, surface_loops_eval_, looptri, brush_pos_su); const float2 uv = bke::mesh_surface_sample::sample_corner_attrribute_with_bary_coords( bary_coords, looptri, surface_uv_map_eval_); @@ -420,9 +420,9 @@ struct AddOperationExecutor { brush_radius_su, [&](const int index, const float3 & /*co*/, const float /*dist_sq*/) { const MLoopTri &looptri = surface_looptris_eval_[index]; - const float3 v0_su = surface_verts_eval_[surface_loops_eval_[looptri.tri[0]].v].co; - const float3 v1_su = surface_verts_eval_[surface_loops_eval_[looptri.tri[1]].v].co; - const float3 v2_su = surface_verts_eval_[surface_loops_eval_[looptri.tri[2]].v].co; + const float3 &v0_su = surface_positions_eval_[surface_loops_eval_[looptri.tri[0]].v]; + const float3 &v1_su = surface_positions_eval_[surface_loops_eval_[looptri.tri[1]].v]; + const float3 &v2_su = surface_positions_eval_[surface_loops_eval_[looptri.tri[2]].v]; float3 normal_su; normal_tri_v3(normal_su, v0_su, v1_su, v2_su); if (math::dot(normal_su, view_direction_su) >= 0.0f) { |