renderPass method

void renderPass(
  1. WebGLRenderer renderer,
  2. Material passMaterial, [
  3. WebGLRenderTarget? renderTarget,
  4. Color? clearColor,
  5. double? clearAlpha,
  6. bool clear = false,
])

Implementation

void renderPass(WebGLRenderer renderer, Material passMaterial, [WebGLRenderTarget? renderTarget, Color? clearColor, double? clearAlpha, bool clear = false]) {
  // setup pass state
  renderer.autoClear = false;

  renderer.setRenderTarget(renderTarget);

  if (clearColor != null) {
    renderer.setClearColor(clearColor);
    renderer.setClearAlpha(clearAlpha ?? 0.0);
    renderer.clear();
  }

  // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600
  if (clear){
    renderer.clear(renderer.autoClearColor, renderer.autoClearDepth,
        renderer.autoClearStencil);
  }

  fsQuad.material = passMaterial;
  fsQuad.render(renderer);

  // restore original state
  renderer.autoClear = oldAutoClear;
  renderer.setClearColor(oldClearColor);
  renderer.setClearAlpha(oldClearAlpha.toDouble());
}