GitHub
GLSL Code
precision mediump float;

uniform vec2 u_resolution;
uniform float u_time;

varying vec2 vUv;

void main() {
  vec2 pos = vUv;

  vec3[4] col4 = vec3[](
    vec3(1.0, 0.0, 0.0),
    vec3(1.0, 1.0, 0.0),
    vec3(1.0, 0.0, 1.0),
    vec3(1.0, 1.0, 1.0)
  );

  float n = 4.0;
  pos *= n;
  pos = floor(pos) + step(0.5, fract(pos));
  pos /= n;

  vec3 col = mix(mix(col4[0], col4[1], pos.x), mix(col4[2], col4[3], pos.x), pos.y);

  gl_FragColor = vec4(col, 1.0);
}
Back