mixer brush partially working, still wip

This commit is contained in:
2018-08-01 15:31:12 +02:00
parent 57e2fa1abd
commit 663863fe44
6 changed files with 51 additions and 30 deletions

View File

@@ -291,10 +291,13 @@ void App::initShaders()
"uniform mat4 mvp;\n"
"in vec4 pos;\n"
"in vec2 uvs;\n"
"in vec2 uvs2;\n"
"out vec2 uv;\n"
"out vec2 uv_2;\n"
"out float q;\n"
"void main(){\n"
" uv = uvs;\n"
" uv_2 = uvs2;\n"
" q = pos.z;\n"
" gl_Position = mvp * vec4(pos.xy, 0.0, 1.0);\n"
"}\n";
@@ -317,6 +320,7 @@ void App::initShaders()
"uniform mediump float mix_alpha;\n"
"uniform mediump float wet;\n"
"in mediump vec2 uv;\n"
"in mediump vec2 uv_2;\n"
"in mediump float q;\n"
#ifdef __IOS__
"inout mediump vec4 frag;\n"
@@ -344,7 +348,8 @@ void App::initShaders()
#else
" mediump vec4 bg = texture(tex_bg, uv2);\n"
#endif
" mediump vec4 mbg = texture(tex_mix, uv/q);\n"
" mediump vec4 mbg = texture(tex_mix, uv_2);\n"
" bg.rgb = mix(bg.rgb, mbg.rgb, mix_alpha);\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"
@@ -352,7 +357,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(mix(frag_dry, frag_wet, wet), mbg, mix_alpha);\n"
" frag = mix(frag_dry, frag_wet, wet);\n"
"}\n";
static const char* shader_checkerboard_v =