[Bf-blender-cvs] [b7ea79fde7b] master: Sculpt: Fix face set relax being too strong

Joseph Eagar noreply at git.blender.org
Sat Oct 15 08:00:54 CEST 2022


Commit: b7ea79fde7b88eba37b57e897604574489aec43f
Author: Joseph Eagar
Date:   Fri Oct 14 23:00:13 2022 -0700
Branches: master
https://developer.blender.org/rBb7ea79fde7b88eba37b57e897604574489aec43f

Sculpt: Fix face set relax being too strong

===================================================================

M	source/blender/editors/sculpt_paint/sculpt_face_set.cc
M	source/blender/editors/sculpt_paint/sculpt_intern.h

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt_face_set.cc b/source/blender/editors/sculpt_paint/sculpt_face_set.cc
index 5f5a555b428..ee1238e0f24 100644
--- a/source/blender/editors/sculpt_paint/sculpt_face_set.cc
+++ b/source/blender/editors/sculpt_paint/sculpt_face_set.cc
@@ -198,8 +198,8 @@ static void do_relax_face_sets_brush_task_cb_ex(void *__restrict userdata,
 
   const bool relax_face_sets = !(ss->cache->iteration_count % 3 == 0);
   /* This operations needs a strength tweak as the relax deformation is too weak by default. */
-  if (relax_face_sets) {
-    bstrength *= 2.0f;
+  if (relax_face_sets && data->iteration < 2) {
+    bstrength *= 1.5f;
   }
 
   const int thread_id = BLI_task_parallel_thread_id(tls);
@@ -261,6 +261,7 @@ void SCULPT_do_draw_face_sets_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, in
   if (ss->cache->alt_smooth) {
     SCULPT_boundary_info_ensure(ob);
     for (int i = 0; i < 4; i++) {
+      data.iteration = i;
       BLI_task_parallel_range(0, totnode, &data, do_relax_face_sets_brush_task_cb_ex, &settings);
     }
   }
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h
index edb681466b5..bf47b64d176 100644
--- a/source/blender/editors/sculpt_paint/sculpt_intern.h
+++ b/source/blender/editors/sculpt_paint/sculpt_intern.h
@@ -332,7 +332,7 @@ typedef struct SculptThreadedTaskData {
   int mask_init_seed;
 
   ThreadMutex mutex;
-
+  int iteration;
 } SculptThreadedTaskData;
 
 /*************** Brush testing declarations ****************/



More information about the Bf-blender-cvs mailing list