Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/sculpt_paint/curves_sculpt_add.cc')
-rw-r--r--source/blender/editors/sculpt_paint/curves_sculpt_add.cc12
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) {