[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