constructor( width, height, params ) {

			super();

			if ( THREE.HalftoneShader === undefined ) {

				console.error( 'THREE.HalftonePass requires THREE.HalftoneShader' );

			}

			this.uniforms = THREE.UniformsUtils.clone( THREE.HalftoneShader.uniforms );
			this.material = new THREE.ShaderMaterial( {
				uniforms: this.uniforms,
				fragmentShader: THREE.HalftoneShader.fragmentShader,
				vertexShader: THREE.HalftoneShader.vertexShader
			} ); // set params

			this.uniforms.width.value = width;
			this.uniforms.height.value = height;

			for ( const key in params ) {

				if ( params.hasOwnProperty( key ) && this.uniforms.hasOwnProperty( key ) ) {

					this.uniforms[ key ].value = params[ key ];

				}

			}

			this.fsQuad = new THREE.FullScreenQuad( this.material );

		}
RGB Halftone pass for three.js effects composer. Requires THREE.HalftoneShader.