mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    //norm -1 +1
    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;
    uv = uv*rot(iTime);
    float col;
    col = uv.x;
    fragColor = vec4(vec3(col),1.0);
}

mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    //norm -1 +1
    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;
    uv=abs(uv);
    uv=uv*rot(-3.1415/4.);
    uv=-iTime+uv;
    float col;
    col = fract(uv.x*2.);
    fragColor = vec4(vec3(col),1.0);
}

mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;

    for(int i=0;i<100;i++){
        uv=abs(uv);
        uv-=.5;
        uv=uv*rot(iTime/10.);
    }

    float col;
    col = fract(uv.x*2.);
    fragColor = vec4(vec3(col),1.0);
}

mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;

    for(int i=0;i<50;i++){
        uv=abs(uv);
        uv-=.5;
        uv=uv*rot(iTime/float(i+1));
    }

    float col;
    col = fract(uv.x*2.);
    fragColor = vec4(vec3(col),1.0);
}

На самом деле тут уже с цветами

На самом деле тут уже с цветами

mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec3 col;
    
    for(int c=0;c<3;c++){
	    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;
        for(int i=0;i<1;i++){
            uv=abs(uv);
            uv-=.5;
            uv=uv*rot(iTime/float(i+1));
        }
	    col[c]=fract(uv.x*2.),fract(uv.x*2.),fract(uv.x*2.);
    }

    fragColor = vec4(vec3(col),1.0);
}

mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec3 col;
    float t;
    
    for(int c=0;c<3;c++){
	    vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;
        t = iTime+float(c)/10.;
        for(int i=0;i<1;i++){
            uv=abs(uv);
            uv-=.5;
            uv=uv*rot(t/float(i+1));
        }
	    col[c]=fract(uv.x*2.),fract(uv.x*2.),fract(uv.x*2.);
    }

    fragColor = vec4(vec3(col),1.0);
}