anchor.diff:      // Uncomment to visualize normal buffer
       //fragColor.rgb = normalMap * 0.5 + 0.5;
   
  -    fragColor = vec4(colorMap.rgb, 1.0f) * calcDirectionalLight(worldPosition, normalMap, specMap);
  +    fragColor = vec4(colorMap.rgb, depth) * calcDirectionalLight(worldPosition, normalMap, specMap);
   }
  
positive.code:         worldPosition, normal, spec);
  }
  
  vec3 calcPosition(vec2 texCoord) {
  #ifdef HAS_TEXTURE_RECTANGLE
      vec2 fragCoord = texCoord / gScreenSize;
  #else
      vec2 fragCoord = texCoord;
  #endif
      float depth = neoTexture2D(gDepthMap, fragCoord).r * 2.0f - 1.0f;
      vec4 pos = vec4(fragCoord * 2.0f - 1.0f, depth, 1.0f);
      pos = gInverse * pos;
      return pos.xyz / pos.w;
  
negative.code: 
  void main() {
      vec2 texCoord = calcTexCoord();
      vec2 fragCoord = calcFragCoord(texCoord);
      float depth = calcDepth(fragCoord);
      vec4 colorMap = neoTexture2D(gColorMap, texCoord);
      vec4 normalDecode = neoTexture2D(gNormalMap, texCoord);
      vec3 normalMap = normalDecode.rgb * 2.0f - 1.0f;
      vec3 worldPosition = calcPosition(depth, fragCoord);
      vec2 specMap = vec2(colorMap.a * 2.0f, exp2(normalDecode.a * 8.0f));
  
      // Uncomment to visualize depth buffer
  