3 ms·
Here is a slowly rotating checkerboard. uniform float time; varying vec2 vUv; varying vec3 vNormal; vec2 rot(vec2 uv, float angle) { float c = cos
by SuboptimalEng 3y ago
Here is a slowly rotating checkerboard.
uniform float time;
varying vec2 vUv;
varying vec3 vNormal;
vec2 rot(vec2 uv, float angle) {
float c = cos(angle);
float s = sin(angle);
mat2 rot = mat2(s, -c, c, s);
return uv * rot;
}
void main(){
vec3 black = vec3(0.0);
vec3 white = vec3(1.0);
vec3 color = black;
vec2 uv = vUv;
uv = rot(uv, sin(time) * 0.05);
float boardSize = 24.0;
uv = uv * boardSize;
vec2 gridId = floor(uv);
if (mod(gridId.x + gridId.y, 2.0) <= 0.01) {
color = white;
} else {
color = black;
}
gl_FragColor = vec4(color, 1.0);
}