render method

void render(
  1. WebGLRenderer renderer,
  2. WebGLRenderTarget writeBuffer,
  3. WebGLRenderTarget readBuffer, {
  4. num? deltaTime,
  5. bool? maskActive,
})
override

Implementation

void render(WebGLRenderer renderer, WebGLRenderTarget writeBuffer, WebGLRenderTarget readBuffer, {num? deltaTime, bool? maskActive}) {

	// pass 1

	this.uniformsEdges[ 'tDiffuse' ]['value'] = readBuffer.texture;

	this.fsQuad.material = this.materialEdges;

	renderer.setRenderTarget( this.edgesRT );
	if ( this.clear ) renderer.clear();
	this.fsQuad.render( renderer );

	// pass 2

	this.fsQuad.material = this.materialWeights;

	renderer.setRenderTarget( this.weightsRT );
	if ( this.clear ) renderer.clear();
	this.fsQuad.render( renderer );

	// pass 3

	this.uniformsBlend[ 'tColor' ]['value'] = readBuffer.texture;

	this.fsQuad.material = this.materialBlend;

	if ( this.renderToScreen ) {

		renderer.setRenderTarget( null );
		this.fsQuad.render( renderer );

	} else {

		renderer.setRenderTarget( writeBuffer );
		if ( this.clear ) renderer.clear();
		this.fsQuad.render( renderer );

	}

}