xxxxxxxxxx
32
precision mediump float;
varying vec2 pos;
uniform float millis;
const vec4 brickColour = vec4(0.8, 0.3, 0.2, 1.);
float inSeg(float p) {
return step(0.05, p) * (1. - step(0.95, p));
}
float inRect(vec2 p) {
return inSeg(p.x) * inSeg(p.y);
}
void main() {
vec2 p = pos * vec2(9., 16.);
vec2 f = fract(p);
vec2 i = floor(p);
p = fract(f - vec2(mod(i.y, 2.) * 0.5, 0.));
float brick = inRect(p);
gl_FragColor = vec4(1.) * (1. - brick) + brickColour * brick * (0.75 + p.y * 0.5);
}