[Bf-blender-cvs] [d1104544b41] temp-sculpt-cavity-mask: temp-sculpt-cavity-mask: Remove blur mode 1
Joseph Eagar
noreply at git.blender.org
Thu Jul 28 19:10:25 CEST 2022
Commit: d1104544b41afa6c064d1872f463f86a1e48c89c
Author: Joseph Eagar
Date: Mon Jul 11 01:15:30 2022 -0700
Branches: temp-sculpt-cavity-mask
https://developer.blender.org/rBd1104544b41afa6c064d1872f463f86a1e48c89c
temp-sculpt-cavity-mask: Remove blur mode 1
===================================================================
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
M source/blender/editors/sculpt_paint/sculpt_automasking.cc
M source/blender/editors/sculpt_paint/sculpt_intern.h
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_sculpt_paint.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 7264cd6d7f8..1b8c89de140 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -979,7 +979,6 @@ class VIEW3D_PT_sculpt_options(Panel, View3DPaintPanel):
col.prop(sculpt, "automasking_cavity_factor", text="Cavity Factor")
col.prop(sculpt, "automasking_cavity_blur_steps", text="Cavity Blur")
- col.prop(sculpt, "use_automasking_cavity_direct_blur", text="Blur Mode 2")
col.prop(sculpt, "use_automasking_custom_cavity_curve", text="Use Curve")
if sculpt.use_automasking_custom_cavity_curve:
diff --git a/source/blender/editors/sculpt_paint/sculpt_automasking.cc b/source/blender/editors/sculpt_paint/sculpt_automasking.cc
index d54172b3919..f10fcc1f97b 100644
--- a/source/blender/editors/sculpt_paint/sculpt_automasking.cc
+++ b/source/blender/editors/sculpt_paint/sculpt_automasking.cc
@@ -170,24 +170,9 @@ float SCULPT_calc_cavity(SculptSession *ss, const int vertex)
return factor;
}
-static float sculpt_automasking_cavity_factor_intern(SculptSession *ss,
- AutomaskingCache *automasking,
- int vert)
-{
- float factor = SCULPT_calc_cavity(ss, vert);
- float sign = signf(factor);
-
- factor = fabsf(factor) * automasking->settings.cavity_factor * 50.0f;
-
- factor = factor * sign * 0.5f + 0.5f;
- CLAMP(factor, 0.0f, 1.0f);
-
- return (automasking->settings.flags & BRUSH_AUTOMASKING_CAVITY_INVERT) ? 1.0f - factor : factor;
-}
-
-static float sculpt_automasking_cavity_factor_intern2(SculptSession *ss,
- AutomaskingCache *automasking,
- float factor)
+static float sculpt_cavity_calc_factor(SculptSession *ss,
+ AutomaskingCache *automasking,
+ float factor)
{
float sign = signf(factor);
@@ -221,11 +206,14 @@ struct CavityBlurVert {
}
};
-static void sculpt_calc_blurred_cavity(
- SculptSession *ss, AutomaskingCache *automasking, int steps, int vertex, bool direct_blur_mode)
+static void sculpt_calc_blurred_cavity(SculptSession *ss,
+ AutomaskingCache *automasking,
+ int steps,
+ int vertex)
{
if (steps == 0) {
- ss->cavity_factor[vertex] = sculpt_automasking_cavity_factor_intern(ss, automasking, vertex);
+ ss->cavity_factor[vertex] = sculpt_cavity_calc_factor(
+ ss, automasking, SCULPT_calc_cavity(ss, vertex));
ss->cavity_stroke_id[vertex] = ss->stroke_id;
return;
@@ -256,12 +244,6 @@ static void sculpt_calc_blurred_cavity(
queue[0] = initial;
end = 1;
- float factor_sum = 0.0f;
- int factor_len = 0;
-
- factor_sum += sculpt_automasking_cavity_factor_intern(ss, automasking, vertex);
- factor_len++;
-
const float *co1 = SCULPT_vertex_co_get(ss, vertex);
while (start != end) {
@@ -302,9 +284,6 @@ static void sculpt_calc_blurred_cavity(
float dist = len_v3v3(SCULPT_vertex_co_get(ss, v2), SCULPT_vertex_co_get(ss, v));
- factor_sum += sculpt_automasking_cavity_factor_intern(ss, automasking, v2);
- factor_len++;
-
visit.add_new(v2);
CavityBlurVert blurvert2(v2, dist, blurvert.depth + 1);
@@ -332,10 +311,6 @@ static void sculpt_calc_blurred_cavity(
SCULPT_VERTEX_NEIGHBORS_ITER_END(ni);
}
- if (factor_len != 0.0f) {
- factor_sum /= factor_len;
- }
-
if (sco1_num == sco2_num) {
printf("error! %d %d\n", sco1_num, sco2_num);
}
@@ -366,13 +341,11 @@ static void sculpt_calc_blurred_cavity(
SCULPT_vertex_normal_get(ss, vertex, sno2);
}
- if (direct_blur_mode) {
- float vec[3];
- sub_v3_v3v3(vec, sco1, sco2);
- factor_sum = dot_v3v3(vec, sno2) / len1_sum;
+ float vec[3];
+ sub_v3_v3v3(vec, sco1, sco2);
+ float factor_sum = dot_v3v3(vec, sno2) / len1_sum;
- factor_sum = sculpt_automasking_cavity_factor_intern2(ss, automasking, factor_sum);
- }
+ factor_sum = sculpt_cavity_calc_factor(ss, automasking, factor_sum);
ss->cavity_factor[vertex] = factor_sum;
ss->cavity_stroke_id[vertex] = ss->stroke_id;
@@ -383,11 +356,7 @@ static float sculpt_automasking_cavity_factor(AutomaskingCache *automasking,
int vertex)
{
if (ss->cavity_stroke_id[vertex] != ss->stroke_id) {
- sculpt_calc_blurred_cavity(ss,
- automasking,
- automasking->settings.cavity_blur_steps,
- vertex,
- automasking->settings.cavity_blur_direct);
+ sculpt_calc_blurred_cavity(ss, automasking, automasking->settings.cavity_blur_steps, vertex);
}
float factor = ss->cavity_factor[vertex];
@@ -641,14 +610,8 @@ static void SCULPT_automasking_cache_settings_update(AutomaskingCache *automaski
automasking->settings.flags = sculpt_automasking_mode_effective_bits(sd, brush);
automasking->settings.initial_face_set = SCULPT_active_face_set_get(ss);
automasking->settings.cavity_factor = sd->automasking_cavity_factor;
- automasking->settings.cavity_blur_steps = sd->automasking_cavity_blur_steps;
+ automasking->settings.cavity_blur_steps = sd->automasking_cavity_blur_steps + 1;
automasking->settings.cavity_curve = sd->automasking_cavity_curve;
-
- automasking->settings.cavity_blur_direct = sd->automasking_cavity_blur_direct;
-
- if (automasking->settings.cavity_blur_direct) {
- automasking->settings.cavity_blur_steps++;
- }
}
AutomaskingCache *SCULPT_automasking_cache_init(Sculpt *sd, Brush *brush, Object *ob)
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h
index 84d14b37998..c0866d7b626 100644
--- a/source/blender/editors/sculpt_paint/sculpt_intern.h
+++ b/source/blender/editors/sculpt_paint/sculpt_intern.h
@@ -397,7 +397,6 @@ typedef struct AutomaskingSettings {
float cavity_factor;
int cavity_blur_steps;
struct CurveMapping *cavity_curve;
- bool cavity_blur_direct;
} AutomaskingSettings;
typedef struct AutomaskingCache {
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 48814b37724..a393d72bc29 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1016,9 +1016,8 @@ typedef struct Sculpt {
int automasking_cavity_blur_steps;
float automasking_cavity_factor;
- char _pad[3];
+ char _pad[4];
- char automasking_cavity_blur_direct;
struct CurveMapping *automasking_cavity_curve;
struct Object *gravity_object;
} Sculpt;
diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c
index c18e58db4dd..e37f31ffffd 100644
--- a/source/blender/makesrna/intern/rna_sculpt_paint.c
+++ b/source/blender/makesrna/intern/rna_sculpt_paint.c
@@ -906,11 +906,6 @@ static void rna_def_sculpt(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Invert Cavity Mask", "Invert cavity masking.");
RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
- prop = RNA_def_property(srna, "use_automasking_cavity_direct_blur", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "automasking_cavity_blur_direct", 1);
- RNA_def_property_ui_text(prop, "Blur Mode 2", "Blur Mode 2");
- RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
-
prop = RNA_def_property(srna, "invert_automasking_cavity", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "automasking_flags", BRUSH_AUTOMASKING_CAVITY_INVERT);
RNA_def_property_ui_text(prop, "Invert Cavity Mask", "Invert cavity masking.");
More information about the Bf-blender-cvs
mailing list