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 offset = vec3(1.0+0.2*(cos(time/5.7)),0.3+0.1*(cos(time/1.7)),1.).xzy;
  
  
  float DE2(vec3 z, out int mat) { 
   float sphere = abs(length(z))-15.0;
   z*= scale;
   float base = (cos(z.x) * sin(z.y) + cos(z.y) * sin(z.z) + cos(z.z) * sin(z.x));
  
negative.code:  return max(min(base,inverse),sphere);
  }
  
  float  DE(vec3 z, float scale) {
    int i = 0;
    return DE2(z, i, scale);
  }
  
  
  
  // Finite difference normal
  vec3 getNormal(in vec3 pos, float scale) {
    vec3 e = vec3(0.0,normalDistance,0.0);
  
    return normalize(vec3(
        DE(pos+e.yxx, scale)-DE(pos-e.yxx, scale),
        DE(pos+e.xyx, scale)-DE(pos-e.xyx, scale),
        DE(pos+e.xxy, scale)-DE(pos-e.xxy, scale)));
  }
  
  // Solid color with a little bit of normal :-)
  