37 lines
770 B
GLSL
37 lines
770 B
GLSL
[[vertex]]
|
|
|
|
in vec4 pos;
|
|
in vec2 uvs;
|
|
in mat4 a_mvp;
|
|
in float a_flow;
|
|
out vec3 uv;
|
|
out float alpha;
|
|
|
|
void main()
|
|
{
|
|
uv = vec3(uvs, pos.w);
|
|
alpha = a_flow;
|
|
gl_Position = a_mvp * vec4(pos.xyz, 1.0);
|
|
}
|
|
|
|
[[fragment]]
|
|
|
|
uniform mediump sampler2D tex;
|
|
uniform mediump sampler2D tex_pattern;
|
|
uniform mediump vec4 col;
|
|
uniform mediump vec2 resolution;
|
|
uniform mediump vec2 pattern_offset;
|
|
uniform mediump float pattern_alpha;
|
|
|
|
in mediump float alpha;
|
|
in mediump vec3 uv;
|
|
out mediump vec4 frag;
|
|
|
|
void main()
|
|
{
|
|
mediump vec2 uv2 = gl_FragCoord.st / resolution;
|
|
mediump float pattern = 1.0 - (texture(tex_pattern, (uv2+pattern_offset)).r * 0.9) * pattern_alpha;
|
|
mediump float a = (1.0 - texture(tex, uv.xy).r) * alpha * pattern;
|
|
frag = vec4(col.rgb, a);
|
|
}
|