if (mod(time * 2., 14.) <= 7.) {
return length(p)-(0.009)*pow(mod(time * 2., 7.), 4.);
return length(p)-(0.009)*pow(mod(-time * 2., 7.), 4.);
return normalize(vec3(map(p+vec3(d,0.,0.))-map(p+vec3(-d,0.,0.)),map(p+vec3(0.,d,0.))-map(p+vec3(0.,-d,0.)),map(p+vec3(0.,0.,d))-map(p+vec3(0.,0.,-d))));
vec4 display = vec4(0.0);
vec2 uv=(gl_FragCoord.xy-.5*resolution)/resolution.y;
vec3 rd=normalize(vec3(uv,1));
vec3 normal = getNormal(p);
vec3 lightDir = vec3(0,0,-1.0);
float diff = clamp(dot(lightDir, normal), 0.2, 1.0);
if (mod(time * 2., 14.) <= 7.) {
if ((0.009)*pow(mod(time * 2., 7.), 4.) > 15.) {
light = 1. - (0.009)*pow(mod(time * 2., 7.), 4.) + 15.;
if ((0.009)*pow(mod(-time * 2., 7.), 4.) > 15.) {
light = 1. - (0.009)*pow(mod(-time * 2., 7.), 4.) + 15.;
display = vec4(vec3(diff * light) , 1.0);