 }
 
 float dist_dodeca(vec3 pos, float scale) {
+    if (scale > 3.5) return -16.0;
     scale *= 0.6317063;
     float dist = dot(pos, vec3(0.0, 0.0, 1.0)) - scale;
     dist = max(dist, dot(pos, vec3(0.27639428, -0.8506485, 0.44721735)) - scale);

}

float dist_icosa(vec3 pos, float scale) {
    scale *= 0.5;
    float dist = dot(pos, vec3(0.14907, -0.45879, -0.63148)) - scale;
    dist = max(dist, dot(pos, vec3(-0.39027, -0.28355, -0.63148)) - scale);


varying vec2 v_pos;

const int MAX_STEPS = 16;
const float INTERSECT_EPSILON = 1.0/256.0;
const vec3 CAMERA_POS = vec3(0.0, 0.0, 2.0);
const float FLOOR_Y = -2.0;
const vec3 LIGHT_DIR = normalize(vec3(-1.0, 1.0, 1.25));
