[Bf-blender-cvs] [f70a8c15811] temp_bmesh_multires: Merge branch 'master' into temp_bmesh_multires

Joseph Eagar noreply at git.blender.org
Thu Apr 29 19:17:51 CEST 2021


Commit: f70a8c158118b422d4937d3e028b049d5efe9148
Author: Joseph Eagar
Date:   Thu Apr 29 10:17:22 2021 -0700
Branches: temp_bmesh_multires
https://developer.blender.org/rBf70a8c158118b422d4937d3e028b049d5efe9148

Merge branch 'master' into temp_bmesh_multires

Also fixed a pose brush bug that may or may not have been
the result of the merge nixing code, need to check master.

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



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

diff --cc release/datafiles/locale
index aafea2abb18,f7b706dd643..2c9eee69e65
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit aafea2abb18bb42e7d31a6926b2caba90f4e0316
 -Subproject commit f7b706dd6434db2d752f47c4b8c3148b2990fd73
++Subproject commit 2c9eee69e654a8b654ea08e356391c192dcc56df
diff --cc release/scripts/addons
index c8752443311,4cb833e84ac..eb3952fcd26
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit c8752443311b133f8783a6b9b2152eb7c92d06a7
 -Subproject commit 4cb833e84acfd2be5fa08ce75118ce9cb60643b8
++Subproject commit eb3952fcd26e9897bcc0128eab925b070c0e7593
diff --cc source/blender/blenlib/BLI_compiler_attrs.h
index f976b32fcf6,4b5a7d671f2..df54d061db7
--- a/source/blender/blenlib/BLI_compiler_attrs.h
+++ b/source/blender/blenlib/BLI_compiler_attrs.h
@@@ -99,13 -99,9 +99,20 @@@
  #  define ATTR_ALIGN(x) __attribute__((aligned(x)))
  #endif
  
 +/* Disable optimization for a function (for debugging use only)*/
 +#ifdef __clang__
 +#define ATTR_NO_OPT __attribute__((optnone))
 +#elif __MSC_VER
 +#  define ATTR_NO_OPT __pragma(optimize("", off))
 +#elif __GNUC__
 +#define ATTR_NO_OPT _Pragma(optimize, "O0")
 +#else
 +#define ATTR_NO_OPT
 +#endif
++
+ /* Alignment directive */
+ #ifdef _WIN64
+ #  define ALIGN_STRUCT __declspec(align(64))
+ #else
+ #  define ALIGN_STRUCT
+ #endif
diff --cc source/blender/editors/sculpt_paint/paint_stroke.c
index d1604e01610,49ddf2f82d8..ff4bbfe021f
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@@ -1137,11 -1233,19 +1166,21 @@@ static void paint_line_strokes_spacing(
      length += *length_residue;
      *length_residue = 0.0;
  
 +    stroke->spacing = spacing;
 +
      if (length >= spacing) {
-       mouse[0] = stroke->last_mouse_position[0] + dmouse[0] * spacing_final;
-       mouse[1] = stroke->last_mouse_position[1] + dmouse[1] * spacing_final;
+       if (use_scene_spacing) {
+         float final_world_space_position[3];
+         normalize_v3(d_world_space_position);
+         mul_v3_v3fl(final_world_space_position, d_world_space_position, spacing_final);
+         add_v3_v3v3(
+             final_world_space_position, world_space_position_old, final_world_space_position);
+         ED_view3d_project(region, final_world_space_position, mouse);
+       }
+       else {
+         mouse[0] = stroke->last_mouse_position[0] + dmouse[0] * spacing_final;
+         mouse[1] = stroke->last_mouse_position[1] + dmouse[1] * spacing_final;
+       }
  
        ups->overlap_factor = paint_stroke_integrate_overlap(stroke->brush, 1.0);
  
diff --cc source/blender/editors/sculpt_paint/sculpt_pose.c
index d2551326391,587ce346428..07f0f763ff9
--- a/source/blender/editors/sculpt_paint/sculpt_pose.c
+++ b/source/blender/editors/sculpt_paint/sculpt_pose.c
@@@ -197,8 -197,9 +197,9 @@@ static void do_pose_brush_task_cb_ex(vo
        mul_v3_fl(disp, segments[ik].weights[vd.index]);
  
        /* Apply the vertex mask to the displacement. */
-       float mask = vd.mask ? *vd.mask : 0.0f;
-       mul_v3_fl(disp, 1.0f - mask);
+       const float mask = vd.mask ? 1.0f - *vd.mask : 1.0f;
 -      const float automask = SCULPT_automasking_factor_get(ss->cache->automasking, ss, vd.index);
++      const float automask = SCULPT_automasking_factor_get(ss->cache->automasking, ss, vd.vertex);
+       mul_v3_fl(disp, mask * automask);
  
        /* Accumulate the displacement. */
        add_v3_v3(total_disp, disp);
@@@ -807,6 -797,6 +808,13 @@@ static SculptPoseIKChain *pose_ik_chain
      SCULPT_floodfill_execute(ss, &flood, pose_face_sets_floodfill_cb, &fdata);
      SCULPT_floodfill_free(&flood);
  
++    if (!fdata.next_face_set_found) {
++      for (int i = s; i < ik_chain->tot_segments; i++) {
++        zero_v3(ik_chain->segments[i].orig);
++      }
++      break;
++    }
++
      if (fdata.tot_co > 0) {
        mul_v3_fl(fdata.pose_origin, 1.0f / (float)fdata.tot_co);
        copy_v3_v3(ik_chain->segments[s].orig, fdata.pose_origin);



More information about the Bf-blender-cvs mailing list