https://www.shadertoy.com/view/wflXRX

#define PI cos(-1.)
#define R2D(a) mat2(cos(a+vec4(0,11,33,0)))

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    float i,j,d=.1,e=1.;
    vec3 p;
    fragColor=vec4(0.);
    
    for(i=0.;i++<64.&&d>1e-4;){
        p=vec3((fragCoord.xy-.5*iResolution.xy)/iResolution.y,e)*4.;
        p.z-=4.;
        p.xy*=R2D(iTime);
 
        for(j=0.;j++<8.;)
            p=abs(p-.2)-mod(iTime*.5,i),
            p.xy*=R2D(PI*iTime)*3.9,
            d=max(max(p.z,p.y),p.x),
            d-=dot(p,p)/1e4;
        e-=d;
        
    }fragColor += vec4(p/e,1)*5./i;
}