Fragment
uniform float time;
varying vec2 vUv;
void main() {
vec2 p = vUv;
float c = cos(time);
float s = sin(time);
vec2 newUV = vec2(c * p.x - s * p.y, s * p.x + c * p.y);
vec3 color = vec3(newUV, 0.95 + 0.1 * sin(time + length(p)));
gl_FragColor = vec4(color, 1.0);
}