function GodRaysPass(scene, camera, lightSource) {
	    var _this;

	    var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};

	    classCallCheck(this, GodRaysPass);

	    _this = possibleConstructorReturn(this, getPrototypeOf$2(GodRaysPass).call(this, "GodRaysPass"));
	    /**
	     * A scene that only contains the light source.
	     *
	     * @type {Scene}
	     * @private
	     */

	    _this.lightScene = new Scene();
	    /**
	     * The main scene.
	     *
	     * @type {Scene}
	     * @private
	     */

	    _this.mainScene = scene;
	    /**
	     * The main camera.
	     *
	     * @type {Camera}
	     * @private
	     */

	    _this.mainCamera = camera;
	    /**
	     * A render target.
	     *
	     * @type {WebGLRenderTarget}
	     * @private
	     */

	    _this.renderTargetX = new WebGLRenderTarget(1, 1, {
	      minFilter: LinearFilter,
	      magFilter: LinearFilter,
	      stencilBuffer: false,
	      depthBuffer: false
	    });
	    _this.renderTargetX.texture.name = "GodRays.TargetX";
	    _this.renderTargetX.texture.generateMipmaps = false;
	    /**
	     * A second render target.
	     *
	     * @type {WebGLRenderTarget}
	     * @private
	     */

	    _this.renderTargetY = _this.renderTargetX.clone();
	    _this.renderTargetY.texture.name = "GodRays.TargetY";
	    /**
	     * A render target for the masked light scene.
	     *
	     * @type {WebGLRenderTarget}
	     * @private
	     */

	    _this.renderTargetMask = new WebGLRenderTarget(1, 1, {
	      minFilter: LinearFilter,
	      magFilter: LinearFilter
	    });
	    _this.renderTargetMask.texture.name = "GodRays.Mask";
	    _this.renderTargetMask.texture.generateMipmaps = false;
	    /**
	     * A pass that only renders the light source.
	     *
	     * @type {RenderPass}
	     * @private
	     */

	    _this.renderPassLight = new RenderPass(_this.lightScene, _this.mainCamera, {
	      clearColor: new Color(0x000000)
	    });
	    /**
	     * A pass that renders the masked scene over the light.
	     *
	     * @type {RenderPass}
	     * @private
	     */

	    _this.renderPassMask = new RenderPass(_this.mainScene, _this.mainCamera, {
	      overrideMaterial: new MeshBasicMaterial({
	        color: 0x000000
	      })
	    });
	    _this.renderPassMask.clear = false;
	    /**
	     * A blur pass.
	     *
	     * @type {BlurPass}
	     * @private
	     */

	    _this.blurPass = new BlurPass(options);
	    /**
	     * The light source.
	     *
	     * @type {Object3D}
	     */

	    _this.lightSource = lightSource;
	    /**
	     * The light position in screen space.
	     *
	     * @type {Vector3}
	     * @private
	     */

	    _this.screenPosition = new Vector3();
	    /**
	     * A god rays shader material.
	     *
	     * @type {GodRaysMaterial}
	     * @private
	     */

	    _this.godRaysMaterial = new GodRaysMaterial(options);
	    _this.godRaysMaterial.uniforms.lightPosition.value = _this.screenPosition;
	    _this.samples = options.samples;
	    /**
	     * A combine shader material.
	     *
	     * @type {CombineMaterial}
	     * @private
	     */

	    _this.combineMaterial = new CombineMaterial(options.screenMode !== undefined ? options.screenMode : true);
	    _this.intensity = options.intensity;
	    return _this;
	  }
Constructs a new god rays pass.

@param {Scene} scene - The main scene.
@param {Camera} camera - The main camera.
@param {Object3D} lightSource - The main light source.
@param {Object} [options] - The options.
@param {Number} [options.density=0.96] - The density of the light rays.
@param {Number} [options.decay=0.93] - An illumination decay factor.
@param {Number} [options.weight=0.4] - A light ray weight factor.
@param {Number} [options.exposure=0.6] - A constant attenuation coefficient.
@param {Number} [options.clampMax=1.0] - An upper bound for the saturation of the overall effect.
@param {Number} [options.intensity=1.0] - A constant factor for additive blending.
@param {Number} [options.resolutionScale=0.5] - The render texture resolution scale, relative to the screen render size.
@param {Number} [options.kernelSize=KernelSize.LARGE] - The blur kernel size.
@param {Number} [options.samples=60] - The number of samples per pixel.
@param {Number} [options.screenMode=true] - Whether the screen blend mode should be used for combining the god rays texture with the scene colors.