anchor.diff:    return fract(cos(dot(co,vec2(4.898,7.23))) * 23421.631);
   }
   
  -vec4 rayMarch(in vec3 from, in vec3 dir) {
  +vec4 rayMarch(in vec3 from, in vec3 dir, float scale) {
     // Add some noise to prevent banding
     float totalDistance = rand(gl_FragCoord.xy+vec2(time));
     
  
positive.code:   vec3 pos;
    for (int i=0; i < MaxSteps; i++) {
      pos = from + totalDistance * dir;
      distance = DE(pos)*(0.7*scale);
      totalDistance += distance;
      if (distance < MinimumDistance) break;
      steps = i;
  
negative.code: 
    // Since our distance field is not signed,
      // backstep when calc'ing normal
    vec3 normal = getNormal(pos-dir*normalDistance*3.0, scale);
  
    int material = 0;
    DE2(pos, material, scale);
    
    vec3 color = getColor(normal, pos, material); 
    vec3 light = getLight(color, normal, dir, material);
  