mixer brush partially working, still wip
This commit is contained in:
@@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user