function BloomPass(strength, kernelSize, sigma, resolution)
{
	Pass.call(this);

	this.type = "Bloom";
	this.copyToScreen = true;

	this.createQuadScene();

	strength = strength !== undefined ? strength : 1;
	kernelSize = kernelSize !== undefined ? kernelSize : 25;
	sigma = sigma !== undefined ? sigma : 4.0;
	resolution = resolution !== undefined ? resolution : 256;

	// Render targets
	this.renderTargetX = new WebGLRenderTarget(resolution, resolution, Pass.RGBALinear);

	// Render targets
	this.renderTargetY = new WebGLRenderTarget(resolution, resolution, Pass.RGBALinear);

	// Copy material
	this.copyUniforms = UniformsUtils.clone(CopyShader.uniforms);
	this.copyUniforms["opacity"].value = strength;

	// Copy material
	this.materialCopy = new ShaderMaterial(
		{
			uniforms: this.copyUniforms,
			vertexShader: CopyShader.vertexShader,
			fragmentShader: CopyShader.fragmentShader,
			blending: AdditiveBlending,
			transparent: true
		});

	// Convolution material
	this.convolutionUniforms = UniformsUtils.clone(ConvolutionShader.uniforms);
	this.convolutionUniforms["uImageIncrement"].value = BloomPass.blurX;
	this.convolutionUniforms["cKernel"].value = ConvolutionShader.buildKernel(sigma);
	this.materialConvolution = new ShaderMaterial(
		{
			uniforms: this.convolutionUniforms,
			vertexShader: ConvolutionShader.vertexShader,
			fragmentShader: ConvolutionShader.fragmentShader,
			defines:
			{
				"KERNEL_SIZE_FLOAT": kernelSize.toFixed(1),
				"KERNEL_SIZE_INT": kernelSize.toFixed(0)
			}
		});
}
Simple bloom effect pass.

@class BloomPass
@module Postprocessing
@param {number} strength  Bloom effect strength.
@param {number} kernelSize Bloom kernel size.
@param {number} sigma Sigma.
@param {number} resolution Bloom buffer resolution.