Skip to content

⬅️ Back to Table of Contents

📄 ClearPass.js

📊 Analysis Summary

Metric Count
🔧 Functions 1
🧱 Classes 1
📦 Imports 2
📊 Variables & Constants 1

📚 Table of Contents

🛠️ File Location:

📂 examples/jsm/postprocessing/ClearPass.js

📦 Imports

Name Source
Color three
Pass ./Pass.js

Variables & Constants

Name Type Kind Value Exported
oldClearAlpha any let/var *not shown*

Functions

ClearPass.render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void

JSDoc:

/**
     * Performs the clear operation. This affects the current read or the default framebuffer.
     *
     * @param {WebGLRenderer} renderer - The renderer.
     * @param {WebGLRenderTarget} writeBuffer - The write buffer. This buffer is intended as the rendering
     * destination for the pass.
     * @param {WebGLRenderTarget} readBuffer - The read buffer. The pass can access the result from the
     * previous pass from this buffer.
     * @param {number} deltaTime - The delta time in seconds.
     * @param {boolean} maskActive - Whether masking is active or not.
     */

Parameters:

  • renderer WebGLRenderer
  • writeBuffer WebGLRenderTarget
  • readBuffer WebGLRenderTarget

Returns: void

Calls:

  • renderer.getClearColor
  • renderer.getClearAlpha
  • renderer.setClearColor
  • renderer.setRenderTarget
  • renderer.clear
Code
render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {

        let oldClearAlpha;

        if ( this.clearColor ) {

            renderer.getClearColor( this._oldClearColor );
            oldClearAlpha = renderer.getClearAlpha();

            renderer.setClearColor( this.clearColor, this.clearAlpha );

        }

        renderer.setRenderTarget( this.renderToScreen ? null : readBuffer );
        renderer.clear();

        if ( this.clearColor ) {

            renderer.setClearColor( this._oldClearColor, oldClearAlpha );

        }

    }

Classes

ClearPass

Class Code
class ClearPass extends Pass {

    /**
     * Constructs a new clear pass.
     *
     * @param {(number|Color|string)} [clearColor=0x000000] - The clear color.
     * @param {number} [clearAlpha=0] - The clear alpha.
     */
    constructor( clearColor = 0x000000, clearAlpha = 0 ) {

        super();

        /**
         * Overwritten to disable the swap.
         *
         * @type {boolean}
         * @default false
         */
        this.needsSwap = false;

        /**
         * The clear color.
         *
         * @type {(number|Color|string)}
         * @default 0x000000
         */
        this.clearColor = clearColor;

        /**
         * The clear alpha.
         *
         * @type {number}
         * @default 0
         */
        this.clearAlpha = clearAlpha;

        // internals

        this._oldClearColor = new Color();

    }

    /**
     * Performs the clear operation. This affects the current read or the default framebuffer.
     *
     * @param {WebGLRenderer} renderer - The renderer.
     * @param {WebGLRenderTarget} writeBuffer - The write buffer. This buffer is intended as the rendering
     * destination for the pass.
     * @param {WebGLRenderTarget} readBuffer - The read buffer. The pass can access the result from the
     * previous pass from this buffer.
     * @param {number} deltaTime - The delta time in seconds.
     * @param {boolean} maskActive - Whether masking is active or not.
     */
    render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {

        let oldClearAlpha;

        if ( this.clearColor ) {

            renderer.getClearColor( this._oldClearColor );
            oldClearAlpha = renderer.getClearAlpha();

            renderer.setClearColor( this.clearColor, this.clearAlpha );

        }

        renderer.setRenderTarget( this.renderToScreen ? null : readBuffer );
        renderer.clear();

        if ( this.clearColor ) {

            renderer.setClearColor( this._oldClearColor, oldClearAlpha );

        }

    }

}

Methods

render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void
Code
render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {

        let oldClearAlpha;

        if ( this.clearColor ) {

            renderer.getClearColor( this._oldClearColor );
            oldClearAlpha = renderer.getClearAlpha();

            renderer.setClearColor( this.clearColor, this.clearAlpha );

        }

        renderer.setRenderTarget( this.renderToScreen ? null : readBuffer );
        renderer.clear();

        if ( this.clearColor ) {

            renderer.setClearColor( this._oldClearColor, oldClearAlpha );

        }

    }