anchor.diff:            //color = packDepth(unpackDepth(color));
             gl_FragColor = color;
             // necessary?
  -          gl_FragColor.a = 1.0;
  +          //gl_FragColor.r = unpackDepth(color) * 0.4;
  +          //gl_FragColor.g = 0.0;
  +          //gl_FragColor.b = 0.0;
  +          //gl_FragColor.a = 1.0;
         }
         """
         ])
  
positive.code:           // Note, this is equivalent to passing
            //   ${vPositionFromLight0} = gl_Position;
            // in the vertex shader and then computing
            //   d = ${vPositionFromLight0}.z / ${vPositionFromLight0}.w * 0.5 + 0.5;
            float d  = gl_FragCoord.z;
            // d is value between 0.0 and 1.0
            gl_FragColor = packDepth(d);
  
negative.code: 
          float shadow = computeShadow(${vPositionFromLight0},
                                       ${uShadowSampler0}, 0.4, -0.1);
          //shadow = 1.0;
          gl_FragColor.rgb = diffuseFactor * shadow * info.diffuseColor +
                               specularFactor * shadow * info.specularColor;
          //foo(${vPositionFromLight0}, ${uShadowSampler0}, 0.4, -0.1);
        }
        """
        ])
  