Blending shaders with EffectsComposer & BlendShader

The code below displays an all white screen. Cannot find any documentation on shader blending. Is there a better approach?

        this.renderScene = new RenderPass( this.scene, this.camera );
        this.outputPass = new OutputPass();

        this.renderColor = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat} );
        this.renderDither = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat} );

        this.composerColor = new EffectComposer( this.renderer, this.renderColor  );
            this.composerColor.rendertoScreen = false;
            this.composerColor.addPass( this.renderScene );
            //this.composerColor.addPass( this.outputPass );

        this.composerDither = new EffectComposer( this.renderer, this.renderDither );
            this.composerDither.rendertoScreen = false;
            this.composerDither.addPass( this.renderScene );
            this.ditherDotShader = new ShaderPass( DotScreenShader );
            this.ditherDotShader.uniforms[ 'scale' ].value = 4;
            this.composerDither.addPass( this.ditherDotShader );
            this.ditherRgbShiftShader = new ShaderPass( RGBShiftShader );
            this.ditherRgbShiftShader.uniforms[ 'amount' ].value = 0.0015;
            this.composerDither.addPass( this.ditherRgbShiftShader );
            //this.composerDither.addPass( this.outputPass );

        this.blendComposer = new EffectComposer( this.renderer );
            this.blendShader = new ShaderPass( BlendShader );
            this.blendShader.uniforms.tDiffuse1.value = this.renderColor; 
            this.blendShader.uniforms.tDiffuse2.value = this.renderDither; 
            this.blendShader.uniforms.opacity.value =   0.5;
            this.blendShader.uniforms.mixRatio.value =  0.5;
            this.blendComposer.rendertoScreen = true;
            this.blendComposer.addPass( this.renderScene );
            this.blendComposer.addPass( this.blendShader );
            this.blendComposer.addPass( this.outputPass );

I’m not an expert in this area, but maybe if you share a debuggable CodePen it will be easier for someone to help.

At first glance, are you sure about these two lines:

Maybe they should be:

this.blendShader.uniforms.tDiffuse1.value = this.renderColor.texture; 
this.blendShader.uniforms.tDiffuse2.value = this.renderDither.texture; 

At a second glance, it might be better (if it is possible) to make a custom Pass, instead of using three EffectComposer-s.