anchor.diff:      #define DL 2.399963229728653
       #define EULER 2.718281828459045
       
  -    float width = ${uCanvasSize}.x;
  -    float height = ${uCanvasSize}.y;
  -    float cameraFarPlusNear = ${uCameraFar} + ${uCameraNear};
  -    float cameraFarMinusNear = ${uCameraFar} - ${uCameraNear};
  -    float cameraCoef = 2.0 * ${uCameraNear};
  -    
  +
  +
       const int samples = 8;
       const float radius = 5.0;
       const bool useNoise = false;
  
positive.code:     
  /*
      float doFog() {
        float zdepth = unpackDepth( texture2D(${uDepthMap}, ${vTextureCoordinates} ) );
        float depth = -cameraFar * cameraNear / ( zdepth * cameraFarMinusNear - cameraFar );
        return smoothstep( fogNear, fogFar, depth );
      }
  */  
  
      float readDepth( const in vec2 coord ) {
        return cameraCoef / ( cameraFarPlusNear - unpackDepth( texture(${uDepthMap}, coord ) ) * cameraFarMinusNear );
      }
      
  
negative.code:     float unpackDepth( const in vec4 rgba_depth ) {
        return rgba_depth.r;
      }
  
      float unpackDepth2(vec4 rgba_depth) {
        const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );
        float depth = dot( rgba_depth, bit_shift );
        return depth;
  