         z *= fixed2_over_min2;
         dz *= fixed2_over_min2;
     }
-    else if(r2 < fixed_radius2) 
+    else if(r2 < fixed_radius2)
     {
         float temp = (fixed_radius2 / r2);
         z *= temp;

    
    // Folding 'tiling' of 3D space;
	//Pos  = abs(20.0-mod(Pos,20.0));
	vec3 v = Pos - vec3(10.0, 0.0, 0.0);
	float d = -5.0+length(v);
	
	return d-0.001;
}

// Finite difference normal
vec3 getNormal(in vec3 pos) 
{
	vec3 e = vec3(0.0,normalDistance,0.0);
	
	return normalize(vec3(
			DE(pos+e.yxx)-DE(pos-e.yxx),
			DE(pos+e.xyx)-DE(pos-e.xyx),
			DE(pos+e.xxy)-DE(pos-e.xxy)
			)
		);
}


    for( int i=0; i<150; i++ )
    {
        pos = from + sum_dist * dir;
        dist = DE(pos);
        if( dist < MinimumDistance ) 
            break;
        sum_dist += dist * 1.0;
