improving mixer
This commit is contained in:
@@ -350,21 +350,21 @@ void App::initShaders()
|
||||
#endif
|
||||
" 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"
|
||||
" mediump float alpha_tot = bg.a + contribution;"
|
||||
" mediump vec3 rgb = mix(bg.rgb, fg.rgb, fg.a / alpha_tot);\n"
|
||||
" if (mix_alpha > 0.0){\n"
|
||||
" mediump vec2 uv_mix = uv_2 / q;\n"
|
||||
" if (uv_mix.x < 0.0 || uv_mix.x > 1.0 || uv_mix.y < 0.0 || uv_mix.y > 1.0) discard;\n"
|
||||
" mediump vec4 mbg = texture(tex_mix, uv_mix);\n"
|
||||
" fg.rgb = mix(fg.rgb, mbg.rgb, mix_alpha * mbg.a);\n"
|
||||
" rgb.rgb = mix(rgb.rgb, mbg.rgb, mix_alpha * mbg.a);\n"
|
||||
" }\n"
|
||||
" mediump float contribution = (1.0 - bg.a) * fg.a;\n"
|
||||
" mediump float alpha_tot = bg.a + contribution;"
|
||||
" 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"
|
||||
|
||||
// " mediump vec4 mbg = texture(tex_mix, uv_2 / q);\n"
|
||||
// " frag.rgb = mix(frag.rgb, mbg.rgb, mix_alpha);\n"
|
||||
// " frag.rgb = mix(frag.rgb, mbg.rgb, mix_alpha * mbg.a);\n"
|
||||
"}\n";
|
||||
|
||||
static const char* shader_checkerboard_v =
|
||||
|
||||
Reference in New Issue
Block a user