EffectComposer constructor

EffectComposer(
  1. WebGLRenderer renderer, [
  2. WebGLRenderTarget? renderTarget,
  3. FlutterAngleTexture? texture
])

Implementation

EffectComposer(this.renderer, [WebGLRenderTarget? renderTarget, this.texture]) {
  _pixelRatio = renderer.getPixelRatio();

  if (renderTarget == null) {
    final parameters = {
      "type": HalfFloatType
    };

    final size = renderer.getSize(Vector2());

    _width = size.width;
    _height = size.height;

    renderTarget = WebGLRenderTarget(
      (_width * _pixelRatio).toInt(),
      (_height * _pixelRatio).toInt(),
      WebGLRenderTargetOptions(parameters)
    );

    renderTarget.texture.name = 'EffectComposer.rt1';
  }
  else {
    _width = renderTarget.width*1.0;
    _height = renderTarget.height*1.0;
  }

  renderTarget1 = renderTarget;
  renderTarget2 = renderTarget.clone();
  renderTarget2.texture.name = 'EffectComposer.rt2';

  writeBuffer = renderTarget1;
  readBuffer = renderTarget2;

  renderToScreen = true;

  passes = [];

  copyPass = ShaderPass.fromJson(copyShader);
  copyPass.material.blending = NoBlending;

  clock = Clock();
}