#version 300 es precision highp float; uniform float iTime; uniform vec2 iResolution; out vec4 fragColor; void main() { // Screen coordinate (from [-aspect, -1] to [aspect, 1]) vec2 q = (2. * gl_FragCoord.xy - iResolution) / iResolution.y; // Pixel color vec3 col = .5 + .5 * sin((vec3(normalize(q), length(q)) + iTime) * 6.283); // Output fragColor = vec4(col, 1.); }