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

33 lines
596 B
GLSL

[[vertex]]
uniform mat4 mvp;
in vec4 pos;
in vec2 uvs;
out vec2 uv;
void main()
{
uv = uvs;
gl_Position = mvp * vec4(pos.xyz, 1.0);
}
[[fragment]]
uniform bool colorize;
in mediump vec2 uv;
out mediump vec4 frag;
void main()
{
const mediump vec4 c1 = vec4(1.0, 1.0, 1.0, 1.0);
const mediump vec4 c2 = vec4(0.9, 0.9, 0.9, 1.0);
mediump vec2 c = floor(fract(uv * 10.0) * 2.0);
mediump float alpha = mix(c.x, 1.0 - c.x, c.y);
if (colorize)
frag = mix(c1, c2, alpha) * vec4(fract(uv.x * 5.0), uv.y, 1.0, 1.0);
else
frag = mix(c1, c2, alpha);
}