function SSAOPass()
{
	ShaderPass.call(this, SSAOShader);

	this.type = "SSAO";

	// Depth material
	this.depthMaterial = new MeshDepthMaterial();
	this.depthMaterial.depthPacking = RGBADepthPacking;
	this.depthMaterial.blending = NoBlending;

	// Depth render target
	this.depthRenderTarget = new WebGLRenderTarget(2, 2, {minFilter: LinearFilter, magFilter: LinearFilter});

	// Shader uniforms
	this.uniforms["tDepth"].value = this.depthRenderTarget.texture;
	this.uniforms["size"].value.set(2, 2);

	// Setters and getters for uniforms
	Object.defineProperties(this,
		{
		/**
		 * Ambient occlusion shadow radius.
		 *
		 * @property radius
		 * @type {number}
		 */
			radius:
		{
			get: function() {return this.uniforms["radius"].value;},
			set: function(value) {this.uniforms["radius"].value = value;}
		},

			/**
			 * Display only ambient occlusion result.
			 *
			 * @property onlyAO
			 * @type {boolean}
			 */
			onlyAO:
		{
			get: function() {return this.uniforms["onlyAO"].value;},
			set: function(value) {this.uniforms["onlyAO"].value = value;}
		},

			/**
			 * Ambient occlusion clamp.
			 *
			 * @property aoClamp
			 * @type {number}
			 */
			aoClamp:
		{
			get: function() {return this.uniforms["aoClamp"].value;},
			set: function(value) {this.uniforms["aoClamp"].value = value;}
		},

			/**
			 * Pixel luminosity influence in AO calculation.
			 *
			 * @property lumInfluence
			 * @type {number}
			 */
			lumInfluence:
		{
			get: function() {return this.uniforms["lumInfluence"].value;},
			set: function(value) {this.uniforms["lumInfluence"].value = value;}
		}
		});

	this.radius = 4;
	this.onlyAO = false;
	this.aoClamp = 0.25;
	this.lumInfluence = 0.7;
}
Screen space ambient occlusion (SSAO) pass is used to simulate ambient occlusion shadowing effect.

This variant of SSAO produces a halo like effect to simulate the effect.

More information about SSAO here
 - http:// developer.download.nvidia.com/SDK/10.5/direct3d/Source/ScreenSpaceAO/doc/ScreenSpaceAO.pdf

@class SSAOPass
@module Postprocessing