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;
}