anchor.diff:    }
   
     total_color /= total_weight;
  -  if(total_weight <= 0.0f) total_color = vec3(1.0f);
  +  if(total_weight <= 0.0) total_color = vec3(1.0);
     return total_color;
   }
   
   bool intersectBox(const vec3 origin, const vec3 dir, out float t0, out float t1) {
  -  vec3 invR = 1.0f / dir;
  -  vec3 tbot = invR * (vec3(0.0f) - origin);
  -  vec3 ttop = invR * (vec3(1.0f) - origin);
  +  vec3 invR = 1.0 / dir;
  +  vec3 tbot = invR * (vec3(0.0) - origin);
  +  vec3 ttop = invR * (vec3(1.0) - origin);
     vec3 tmin = min(ttop, tbot);
     vec3 tmax = max(ttop, tbot);
     vec2 t = max(tmin.xx, tmin.yz);
  
positive.code: }
  
  vec4 blendColors2(const in vec3 sample_pos) {
    vec3 total_color = vec3(0.0f);
    vec3[5] colors = getColors(sample_pos);
    float total_weight = 0.0f;
    float[5] weights = getWeights(sample_pos);
    for(uint i = 0u; i < num_kinects; ++i) {
      total_color += colors[i] * weights[i];
  
negative.code: float[5] getNormalMax(const in vec3 sample_pos) {
    vec3 normal = get_gradient(sample_pos);
    vec3[5] normals = getNormals(sample_pos);
    float weights[5] =float[5](0.0, 0.0, 0.0, 0.0, 0.0);
    float min_dev = min(dot(-normal, normals[0]), 0.0);
    uint min_i = 0u;
    for (uint i = 1u; i < num_kinects; ++i) {
  