constructor( map, opacity = 1 ) {

		super();

		const shader = CopyShader;

		/**
		 * The texture to render.
		 *
		 * @type {Texture}
		 */
		this.map = map;

		/**
		 * The opacity.
		 *
		 * @type {number}
		 * @default 1
		 */
		this.opacity = opacity;

		/**
		 * Overwritten to disable the swap.
		 *
		 * @type {boolean}
		 * @default false
		 */
		this.needsSwap = false;

		/**
		 * The pass uniforms.
		 *
		 * @type {Object}
		 */
		this.uniforms = UniformsUtils.clone( shader.uniforms );

		/**
		 * The pass material.
		 *
		 * @type {ShaderMaterial}
		 */
		this.material = new ShaderMaterial( {

			uniforms: this.uniforms,
			vertexShader: shader.vertexShader,
			fragmentShader: shader.fragmentShader,
			depthTest: false,
			depthWrite: false,
			premultipliedAlpha: true

		} );

		// internals

		this._fsQuad = new FullScreenQuad( null );

	}
Constructs a new texture pass.

@param {Texture} map - The texture to render.
@param {number} [opacity=1] - The opacity.