// out_color must be written in order to see anything
//
layout(location = 0) out vec4 out_color;
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
float df(vec3 p)
{
p = mod(p+4.0,8.0)-4.0;
p += sin(p*(4.0+iFFT[5]*1.0)) + sin(p*16*4.0)*.0;
return (length(p)-5.0 + iFFT[0] + sin(iFFT[1])*.5)*.2 ;
}
vec3 color = f*bgcol*.3 + dot(nf(pos),normalize(vec3(sin(iGlobalTime),sin(iGlobalTime*3.2),.2)))*.2*bgcol.zyx+.2 + pow(1.0-dot(dir,nf(pos)),4.0)*.5;
color = min(vec3(1.0),color);
color = mix(f*bgcol,color,1.0/(1.0+td*.001));
color += length(color);
color -= length(uv)*.56;
out_color = vec4(color,1.);
}