Merge branch 'blender-v2.81-release'
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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, \
|
||||||
\
|
\
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user