Merge branch 'blender-v2.81-release'

This commit is contained in:
2019-10-31 14:46:47 +01:00
7 changed files with 26 additions and 3 deletions

View File

@@ -199,6 +199,8 @@ def brush_texpaint_common_options(_panel, _context, layout, brush, _settings, *,
if projpaint: if projpaint:
col.prop(brush, "use_alpha") col.prop(brush, "use_alpha")
else:
col.prop(brush, "use_paint_antialiasing")
# Used in both the View3D toolbar and texture properties # Used in both the View3D toolbar and texture properties

View File

@@ -84,6 +84,7 @@ static void brush_defaults(Brush *brush)
FROM_DEFAULT(normal_weight); FROM_DEFAULT(normal_weight);
FROM_DEFAULT(fill_threshold); FROM_DEFAULT(fill_threshold);
FROM_DEFAULT(flag); FROM_DEFAULT(flag);
FROM_DEFAULT(sampling_flag);
FROM_DEFAULT_PTR(rgb); FROM_DEFAULT_PTR(rgb);
FROM_DEFAULT_PTR(secondary_rgb); FROM_DEFAULT_PTR(secondary_rgb);
FROM_DEFAULT(spacing); FROM_DEFAULT(spacing);

View File

@@ -435,6 +435,9 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
* Note that sculpt is an exception, * Note that sculpt is an exception,
* it's values are overwritten by #BKE_brush_sculpt_reset below. */ * it's values are overwritten by #BKE_brush_sculpt_reset below. */
brush->alpha = 1.0; brush->alpha = 1.0;
/* Enable antialiasing by default */
brush->sampling_flag |= BRUSH_PAINT_ANTIALIASING;
} }
{ {

View File

@@ -387,7 +387,12 @@ static unsigned short *brush_painter_curve_mask_new(BrushPainter *painter,
m = mask; m = mask;
int aa_samples = 1.0f / (radius * 0.20f); int aa_samples = 1.0f / (radius * 0.20f);
aa_samples = clamp_i(aa_samples, 3, 16); if (brush->sampling_flag & BRUSH_PAINT_ANTIALIASING) {
aa_samples = clamp_i(aa_samples, 3, 16);
}
else {
aa_samples = 1;
}
/* Temporal until we have the brush properties */ /* Temporal until we have the brush properties */
const float hardness = 1.0f; const float hardness = 1.0f;

View File

@@ -34,6 +34,7 @@
{ \ { \
.blend = 0, \ .blend = 0, \
.flag = (BRUSH_ALPHA_PRESSURE | BRUSH_SPACE | BRUSH_SPACE_ATTEN), \ .flag = (BRUSH_ALPHA_PRESSURE | BRUSH_SPACE | BRUSH_SPACE_ATTEN), \
.sampling_flag = (BRUSH_PAINT_ANTIALIASING), \
\ \
.ob_mode = OB_MODE_ALL_PAINT, \ .ob_mode = OB_MODE_ALL_PAINT, \
\ \

View File

@@ -245,8 +245,9 @@ typedef struct Brush {
float weight; float weight;
/** Brush diameter. */ /** Brush diameter. */
int size; int size;
/** General purpose flag. */ /** General purpose flags. */
int flag; int flag;
int sampling_flag;
/** Pressure influence for mask. */ /** Pressure influence for mask. */
int mask_pressure; int mask_pressure;
/** Jitter the position of the brush. */ /** Jitter the position of the brush. */
@@ -283,7 +284,7 @@ typedef struct Brush {
/** Source for fill tool color gradient application. */ /** Source for fill tool color gradient application. */
char gradient_fill_mode; char gradient_fill_mode;
char _pad; char _pad[5];
/** Projection shape (sphere, circle). */ /** Projection shape (sphere, circle). */
char falloff_shape; char falloff_shape;
float falloff_angle; float falloff_angle;
@@ -435,6 +436,11 @@ typedef enum eBrushFlags {
BRUSH_CURVE = (1u << 31), BRUSH_CURVE = (1u << 31),
} eBrushFlags; } eBrushFlags;
/* Brush.sampling_flag */
typedef enum eBrushSamplingFlags {
BRUSH_PAINT_ANTIALIASING = (1 << 0),
} eBrushSamplingFlags;
typedef enum { typedef enum {
BRUSH_MASK_PRESSURE_RAMP = (1 << 1), BRUSH_MASK_PRESSURE_RAMP = (1 << 1),
BRUSH_MASK_PRESSURE_CUTOFF = (1 << 2), BRUSH_MASK_PRESSURE_CUTOFF = (1 << 2),

View File

@@ -2007,6 +2007,11 @@ static void rna_def_brush(BlenderRNA *brna)
"Apply the maximum grab strength to the active vertex instead of the cursor location"); "Apply the maximum grab strength to the active vertex instead of the cursor location");
RNA_def_property_update(prop, 0, "rna_Brush_update"); RNA_def_property_update(prop, 0, "rna_Brush_update");
prop = RNA_def_property(srna, "use_paint_antialiasing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "sampling_flag", BRUSH_PAINT_ANTIALIASING);
RNA_def_property_ui_text(prop, "Antialasing", "Smooths the edges of the strokes");
RNA_def_property_update(prop, 0, "rna_Brush_update");
prop = RNA_def_property(srna, "use_pressure_strength", PROP_BOOLEAN, PROP_NONE); prop = RNA_def_property(srna, "use_pressure_strength", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", BRUSH_ALPHA_PRESSURE); RNA_def_property_boolean_sdna(prop, NULL, "flag", BRUSH_ALPHA_PRESSURE);
RNA_def_property_ui_icon(prop, ICON_STYLUS_PRESSURE, 0); RNA_def_property_ui_icon(prop, ICON_STYLUS_PRESSURE, 0);