SSAARenderPass constructor

SSAARenderPass(
  1. Scene scene,
  2. Camera camera, [
  3. Color? clearColor,
  4. double clearAlpha = 0,
])

Implementation

SSAARenderPass(Scene scene, Camera camera, [Color? clearColor, this.clearAlpha = 0]) : super() {
  this.scene = scene;
  this.camera = camera;

  sampleLevel = 4; // specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16.
  unbiased = true;

  // as we need to clear the buffer in this pass, clearColor must be set to something, defaults to black.
  this.clearColor = clearColor ?? Color.fromHex32(0x000000);
  _oldClearColor = Color(0, 0, 0);

  final postCopyShader = copyShader;
  copyUniforms = UniformsUtils.clone(postCopyShader["uniforms"]);

  copyMaterial = ShaderMaterial.fromMap({
    "uniforms": copyUniforms,
    "vertexShader": postCopyShader["vertexShader"],
    "fragmentShader": postCopyShader["fragmentShader"],
    "premultipliedAlpha": true,
    "transparent": true,
    "blending": AdditiveBlending,
    "depthTest": false,
    "depthWrite": false
  });

  fsQuad = FullScreenQuad(copyMaterial);
}