all blending modes for pattern and dual brush

This commit is contained in:
2019-02-22 02:26:25 +01:00
parent 39ee7289c5
commit 876c002616
11 changed files with 75 additions and 21 deletions

View File

@@ -64,14 +64,14 @@ void main()
if (pattern_contr != 0.5)
patt = contrast1(patt, pattern_contr);
//mediump float pa = (1.0 - patt) * pow(pattern_depth, 0.25) + (stroke.a * pattern_depth * 10.0);
mediump float pa = pow((1.0 - patt), max(1.0, (1.0 - pattern_depth) * 10.0)) * pow(pattern_depth, 0.25) + (stroke.a * pattern_depth * 5.0);
stroke.a = mix(pa * stroke.a, stroke.a, 0.0);
//mediump float pa = pow((1.0 - patt), max(1.0, (1.0 - pattern_depth) * 10.0)) * pow(pattern_depth, 0.25) + (stroke.a * pattern_depth * 5.0);
stroke.a = blend_stroke(stroke.a, patt, pattern_depth, patt_blend_mode);
}
if (use_dual)
{
mediump vec4 dual = texture(tex_dual, uv);
stroke.a = blend_stroke(stroke.a, dual.a * dual_alpha, dual_blend_mode);
stroke.a = blend_stroke(stroke.a, dual.a, dual_alpha, dual_blend_mode);
}
stroke.a = mask ? stroke.a * stroke_alpha * blur(tex_mask, uv).r : stroke.a * stroke_alpha;