Files
panopainter/data/shaders/stroke-instanced.glsl
2019-02-21 21:51:55 +01:00

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);
}