mixer brush wip

This commit is contained in:
2018-08-01 10:48:04 +02:00
parent 5c2264ba8b
commit 57e2fa1abd
9 changed files with 84 additions and 14 deletions

View File

@@ -307,13 +307,14 @@ void App::initShaders()
"uniform mediump sampler2D tex;\n"
"uniform mediump sampler2D tex_bg;\n"
"uniform mediump sampler2D tex_stencil;\n"
//"layout (binding=3, rgba8) uniform image2D tex_mix;\n"
"uniform mediump sampler2D tex_mix;\n"
"uniform mediump vec4 col;\n"
"uniform mediump vec2 resolution;\n"
"uniform mediump float alpha;\n"
"uniform mediump float noise;\n"
"uniform mediump vec2 stencil_offset;\n"
"uniform mediump float stencil_alpha;\n"
"uniform mediump float mix_alpha;\n"
"uniform mediump float wet;\n"
"in mediump vec2 uv;\n"
"in mediump float q;\n"
@@ -343,6 +344,7 @@ void App::initShaders()
#else
" mediump vec4 bg = texture(tex_bg, uv2);\n"
#endif
" mediump vec4 mbg = texture(tex_mix, uv/q);\n"
" fg.a *= 1.0-rand(uv2+uv)*noise;\n"
" if (fg.a == 0.0) discard;\n"
" mediump float contribution = (1.0 - bg.a) * fg.a;\n"
@@ -350,7 +352,7 @@ void App::initShaders()
" mediump vec3 rgb = mix(bg.rgb, fg.rgb, fg.a / alpha_tot);\n"
" mediump vec4 frag_wet = vec4(rgb, max(bg.a, fg.a * 1.2));\n"
" mediump vec4 frag_dry = vec4(rgb, alpha_tot);\n"
" frag = mix(frag_dry, frag_wet, wet);\n"
" frag = mix(mix(frag_dry, frag_wet, wet), mbg, mix_alpha);\n"
"}\n";
static const char* shader_checkerboard_v =