[Bf-blender-cvs] [9cf21e714a0] greasepencil-object: GPencil: Test new Smart Smooth parameter in UI
Antonio Vazquez
noreply at git.blender.org
Thu Sep 26 23:29:38 CEST 2019
Commit: 9cf21e714a0883951fda02ddc1032e5510f526e3
Author: Antonio Vazquez
Date: Thu Sep 26 23:29:07 2019 +0200
Branches: greasepencil-object
https://developer.blender.org/rB9cf21e714a0883951fda02ddc1032e5510f526e3
GPencil: Test new Smart Smooth parameter in UI
===================================================================
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
M source/blender/blenkernel/intern/brush.c
M source/blender/editors/gpencil/gpencil_paint.c
M source/blender/editors/gpencil/gpencil_primitive.c
M source/blender/makesdna/DNA_brush_types.h
M source/blender/makesrna/intern/rna_brush.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 3abeff6cb60..246e38b517b 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1901,6 +1901,7 @@ class VIEW3D_PT_tools_grease_pencil_brush_option(View3DPanel, Panel):
col.prop(gp_settings, "input_samples")
col.separator()
+ col.prop(gp_settings, "pen_smart_smooth_factor")
col.prop(gp_settings, "active_smooth_factor")
col.prop(gp_settings, "active_subdivide_steps")
col.separator()
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index 44853f74264..4edb9135c60 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -147,7 +147,6 @@ void BKE_brush_init_gpencil_settings(Brush *brush)
brush->gpencil_settings->draw_smoothlvl = 1;
brush->gpencil_settings->flag = 0;
brush->gpencil_settings->flag |= GP_BRUSH_USE_PRESSURE;
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
brush->gpencil_settings->draw_jitter = 0.0f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
@@ -256,7 +255,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Draw Pencil");
brush->size = 25.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 0.6f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
@@ -291,7 +289,6 @@ void BKE_brush_gpencil_presets(bContext *C)
deft = brush; /* save default brush */
brush->size = 30.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
@@ -326,7 +323,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Draw Ink");
brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.6f;
brush->gpencil_settings->draw_strength = 1.0f;
@@ -365,7 +361,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Draw Noise");
brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
@@ -406,7 +401,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Draw Block");
brush->size = 150.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
@@ -438,7 +432,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Draw Marker");
brush->size = 80.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
@@ -479,7 +472,6 @@ void BKE_brush_gpencil_presets(bContext *C)
deft = brush; /* save default brush */
brush->size = 300.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 0.4f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
@@ -515,7 +507,6 @@ void BKE_brush_gpencil_presets(bContext *C)
brush = BKE_brush_add_gpencil(bmain, ts, "Fill Area");
brush->size = 20.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->fill_leak = 3;
brush->gpencil_settings->fill_threshold = 0.1f;
brush->gpencil_settings->fill_simplylvl = 1;
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index f6233c16f0d..c23fe5848a6 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -493,8 +493,7 @@ static void gp_brush_jitter(bGPdata *gpd,
{
float tmp_pressure = pressure;
if (brush->gpencil_settings->draw_jitter > 0.0f) {
- float curvef = BKE_curvemapping_evaluateF(brush->gpencil_settings->curve_jitter, 0, pressure);
- tmp_pressure = curvef * brush->gpencil_settings->draw_sensitivity;
+ tmp_pressure = BKE_curvemapping_evaluateF(brush->gpencil_settings->curve_jitter, 0, pressure);
}
/* exponential value */
const float exfactor = (brush->gpencil_settings->draw_jitter + 2.0f) *
@@ -728,7 +727,7 @@ static void gp_smooth_fake_segments(tGPsdata *p)
to_idx = i + (i - from_idx);
/* Smooth this segments (need loop to get cumulative smooth). */
for (int r = 0; r < 5; r++) {
- gp_smooth_segment(gpd, 0.1f, from_idx, to_idx);
+ gp_smooth_segment(gpd, brush->gpencil_settings->smart_smooth, from_idx, to_idx);
}
}
else {
@@ -900,9 +899,8 @@ static short gp_stroke_addpoint(
/* store settings */
/* pressure */
if (brush->gpencil_settings->flag & GP_BRUSH_USE_PRESSURE) {
- float curvef = BKE_curvemapping_evaluateF(
+ pt->pressure = BKE_curvemapping_evaluateF(
brush->gpencil_settings->curve_sensitivity, 0, pressure);
- pt->pressure = curvef * brush->gpencil_settings->draw_sensitivity;
}
else {
pt->pressure = 1.0f;
@@ -924,9 +922,8 @@ static short gp_stroke_addpoint(
/* apply randomness to pressure */
if ((brush->gpencil_settings->flag & GP_BRUSH_GROUP_RANDOM) &&
(brush->gpencil_settings->draw_random_press > 0.0f)) {
- float curvef = BKE_curvemapping_evaluateF(
+ float tmp_pressure = BKE_curvemapping_evaluateF(
brush->gpencil_settings->curve_sensitivity, 0, pressure);
- float tmp_pressure = curvef * brush->gpencil_settings->draw_sensitivity;
if (BLI_rng_get_float(p->rng) > 0.5f) {
pt->pressure -= tmp_pressure * brush->gpencil_settings->draw_random_press *
BLI_rng_get_float(p->rng);
@@ -960,9 +957,8 @@ static short gp_stroke_addpoint(
/* color strength */
if (brush->gpencil_settings->flag & GP_BRUSH_USE_STENGTH_PRESSURE) {
- float curvef = BKE_curvemapping_evaluateF(
+ float tmp_pressure = BKE_curvemapping_evaluateF(
brush->gpencil_settings->curve_strength, 0, pressure);
- float tmp_pressure = curvef * brush->gpencil_settings->draw_sensitivity;
pt->strength = tmp_pressure * brush->gpencil_settings->draw_strength;
}
diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c
index e5b1a82630b..6a954a5ae0e 100644
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@ -854,7 +854,6 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi)
if (brush->gpencil_settings->flag & GP_BRUSH_USE_JITTER_PRESSURE) {
jitter = BKE_curvemapping_evaluateF(
brush->gpencil_settings->curve_jitter, 0, curve_pressure);
- jitter *= brush->gpencil_settings->draw_sensitivity;
}
else {
jitter = brush->gpencil_settings->draw_jitter;
@@ -901,7 +900,7 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi)
if (brush->gpencil_settings->flag & GP_BRUSH_USE_STENGTH_PRESSURE) {
float curvef = BKE_curvemapping_evaluateF(
brush->gpencil_settings->curve_strength, 0, curve_pressure);
- strength *= curvef * brush->gpencil_settings->draw_sensitivity;
+ strength *= curvef;
strength *= brush->gpencil_settings->draw_strength;
}
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 690b3098ab4..f8596a79a1c 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -50,8 +50,8 @@ typedef struct BrushClone {
typedef struct BrushGpencilSettings {
/** Amount of smoothing to apply to newly created strokes. */
float draw_smoothfac;
- /** Amount of sensitivity to apply to newly created strokes. */
- float draw_sensitivity;
+ /** Amount of smooth for very fast mouse/pen movements. */
+ float smart_smooth;
/** Amount of alpha strength to apply to newly created strokes. */
float draw_strength;
/** Amount of jitter to apply to newly created strokes. */
@@ -515,7 +515,7 @@ typedef enum eBrushUVSculptTool {
SCULPT_TOOL_ELASTIC_DEFORM, \
SCULPT_TOOL_POSE, \
\
- /* These brushes could handle dynamic topology, \ \
+ /* These brushes could handle dynamic topology, \ \ \
* but user feedback indicates it's better not to */ \
SCULPT_TOOL_SMOOTH, \
SCULPT_TOOL_MASK) == 0)
diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c
index 82dfe74f79f..f2fcbd815ce 100644
--- a/source/blender/makesrna/intern/rna_brush.c
+++ b/source/blender/makesrna/intern/rna_brush.c
@@ -1065,11 +1065,11 @@ static void rna_def_gpencil_options(BlenderRNA *brna)
RNA_def_struct_path_func(srna, "rna_BrushGpencilSettings_path");
RNA_def_struct_ui_text(srna, "Grease Pencil Brush Settings", "Settings for grease pencil brush");
- /* Sensitivity factor for new strokes */
- prop = RNA_def_property(srna, "pen_sensitivity_factor", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "draw_sensitivity");
- RNA_def_property_range(prop, 0.1f, 3.0f);
- RNA_def_property_ui_text(prop, "Sensitivity", "Pressure sensitivity factor for new strokes");
+ /* Smart Smooth factor for new strokes */
+ prop = RNA_def_property(sr
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list