Мало того, что всё работает, так ещё и код вышел крошечный.
Есть такая веселуха «кодгольф». Надо уместить программу в минимальное число символов, например, чтобы в твит влезла. Наша влезает.
vec2 u=FC.xy/r.y*2.,v=u;
u=abs(fract(u+t*.5)*2.-1.);
u=u*.66+.166;
ivec2 i=ivec2(u*3.);
if(i.x==i.y==(i.y==1))u=u.yx;
if(i.y*i.x==1)u*=rotate2D(.8);
vec3 c=cos(PI*(v.y/2.+vec3(0,.3,.6)));
o=vec4(1.-c*c*fract(u.x*10.),0);
Онлайн демка и код. Попробуйте какие-нибудь цифры поменять рандомно, обычно что-то прикольное получается.