Merge branch 'blender-v2.83-release'

This commit is contained in:
Antonio Vazquez 2020-05-02 10:48:15 +02:00
commit 719cff1414
1 changed files with 10 additions and 4 deletions

View File

@ -3151,7 +3151,6 @@ static void gp_brush_angle_segment(tGPsdata *p, tGPspoint *pt_prev, tGPspoint *p
float mvec[2];
float fac;
float mpressure;
/* angle vector of the brush with full thickness */
float v0[2] = {cos(angle), sin(angle)};
@ -3159,11 +3158,9 @@ static void gp_brush_angle_segment(tGPsdata *p, tGPspoint *pt_prev, tGPspoint *p
mvec[0] = pt->x - pt_prev->x;
mvec[1] = pt->y - pt_prev->y;
normalize_v2(mvec);
fac = 1.0f - fabs(dot_v2v2(v0, mvec)); /* 0.0 to 1.0 */
/* interpolate with previous point for smoother transitions */
mpressure = interpf(pt->pressure - (sen * fac), pt_prev->pressure, 0.3f);
pt->pressure = mpressure;
pt->pressure = interpf(pt->pressure - (sen * fac), pt_prev->pressure, 0.5f);
CLAMP(pt->pressure, pt_prev->pressure * 0.5f, 1.0f);
}
@ -3241,6 +3238,7 @@ static void gpencil_add_arc_points(tGPsdata *p, float mval[2], int segments)
corner[0] = midpoint[0] - (cp1[0] - midpoint[0]);
corner[1] = midpoint[1] - (cp1[1] - midpoint[1]);
tGPspoint *pt_step = pt_prev;
for (int i = 0; i < segments; i++) {
pt = &points[idx_prev + i - 1];
pt->x = corner[0] + (end[0] - corner[0]) * sinf(a) + (start[0] - corner[0]) * cosf(a);
@ -3250,6 +3248,14 @@ static void gpencil_add_arc_points(tGPsdata *p, float mval[2], int segments)
pt->pressure = pt_prev->pressure;
pt->strength = pt_prev->strength;
/* Apply angle of stroke to brush size to interpolated points but slightly attenuated.. */
if (brush_settings->draw_angle_factor != 0.0f) {
gp_brush_angle_segment(p, pt_step, pt);
CLAMP(pt->pressure, pt_prev->pressure * 0.8f, 1.0f);
/* Use the previous interpolated point for next segment. */
pt_step = pt;
}
/* Apply randomness to pressure. */
if (brush_settings->draw_random_press > 0.0f) {
float rand = BLI_rng_get_float(p->rng) * 2.0f - 1.0f;