Home Reference Source
import {EffectPass} from 'postprocessing/src/passes/EffectPass.js'
public class | source

EffectPass

Extends:

Pass → EffectPass

Indirect Implements:

An effect pass.

Use this pass to combine Effect instances.

Constructor Summary

Public Constructor
public

constructor(camera: Camera, effects: ...Effect)

Constructs a new effect pass.

Member Summary

Public Members
public get

Indicates whether dithering is enabled.

public set

Enables or disables dithering.

public

The maximum time.

public

A time offset.

public
Private Members
private

The effects, sorted by attribute priority, DESC.

private

mainCamera: Camera

The main camera.

private

Indicates whether dithering is enabled.

private

The amount of shader uniforms that this pass uses.

private

The amount of shader varyings that this pass uses.

Method Summary

Public Methods
public

Deletes disposable objects.

public

getDepthTexture(): Texture

Returns the current depth texture.

public

initialize(renderer: WebGLRenderer, alpha: Boolean)

Performs initialization tasks.

public

Destroys the current fullscreen shader material and builds a new one.

public

render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean)

Renders the effect.

public

setDepthTexture(depthTexture: Texture, depthPacking: Number)

Sets the depth texture.

public

setSize(width: Number, height: Number)

Updates the size of this pass.

Private Methods
private

createMaterial(): Material

Creates a compound shader material.

Inherited Summary

From class Pass
public

[key]: *

public

Indicates whether this pass should be executed.

public

The name of this pass.

public

Indicates whether the EffectComposer should prepare a depth texture for this pass.

public

Indicates whether the EffectComposer should swap the frame buffers after this pass has finished rendering.

public

Indicates whether this pass should render to screen.

protected

camera: Camera

The camera.

protected

scene: Scene

The scene to render.

private

quad: Mesh

A quad mesh that fills the screen.

public

Performs a shallow search for disposable properties and deletes them.

public

getDepthTexture(): Texture

Returns the current depth texture.

public

getFullscreenMaterial(): Material

Returns the current fullscreen material.

public

initialize(renderer: WebGLRenderer, alpha: Boolean)

Performs initialization tasks.

public abstract

render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean)

Renders the effect.

public

setDepthTexture(depthTexture: Texture, depthPacking: Number)

Sets the depth texture.

public

setSize(width: Number, height: Number)

Updates this pass with the renderer's size.

You may override this method in case you want to be informed about the main render size.

The EffectComposer calls this method before this pass is initialized and every time its own size is updated.

protected

setFullscreenMaterial(material: Material)

Sets the fullscreen material.

Public Constructors

public constructor(camera: Camera, effects: ...Effect) source

Constructs a new effect pass.

The provided effects will be organized and merged for optimal performance.

Override:

Pass#constructor

Params:

NameTypeAttributeDescription
camera Camera

The main camera. The camera's type and settings will be available to all effects.

effects ...Effect

The effects that will be rendered by this pass.

Public Members

public get dithering: Boolean source

Indicates whether dithering is enabled.

Color quantization reduces banding artifacts but degrades performance.

public set dithering: Boolean source

Enables or disables dithering.

Note that some effects like bloom have their own dithering setting.

public maxTime: Number source

The maximum time.

If the elapsed time exceeds this value, it will be reset.

public minTime: Number source

A time offset.

Elapsed time will start at this value.

public needsDepthTexture: boolean source

Indicates whether the EffectComposer should prepare a depth texture for this pass.

Set this to true if this pass relies on depth information from a preceding RenderPass.

Override:

Pass#needsDepthTexture

Private Members

private effects: Effect[] source

The effects, sorted by attribute priority, DESC.

private mainCamera: Camera source

The main camera.

private quantize: Boolean source

Indicates whether dithering is enabled.

private uniforms: Number source

The amount of shader uniforms that this pass uses.

private varyings: Number source

The amount of shader varyings that this pass uses.

Public Methods

public dispose() source

Deletes disposable objects.

This pass will be inoperative after this method was called!

Override:

Pass#dispose

public getDepthTexture(): Texture source

Returns the current depth texture.

Override:

Pass#getDepthTexture

Return:

Texture

The current depth texture, or null if there is none.

public initialize(renderer: WebGLRenderer, alpha: Boolean) source

Performs initialization tasks.

Override:

Pass#initialize

Params:

NameTypeAttributeDescription
renderer WebGLRenderer

The renderer.

alpha Boolean

Whether the renderer uses the alpha channel or not.

public recompile() source

Destroys the current fullscreen shader material and builds a new one.

Warning: This method performs a relatively expensive shader recompilation.

public render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) source

Renders the effect.

Override:

Pass#render

Params:

NameTypeAttributeDescription
renderer WebGLRenderer

The renderer.

inputBuffer WebGLRenderTarget

A frame buffer that contains the result of the previous pass.

outputBuffer WebGLRenderTarget

A frame buffer that serves as the output render target unless this pass renders to screen.

delta Number
  • optional

The time between the last frame and the current one in seconds.

stencilTest Boolean
  • optional

Indicates whether a stencil mask is active.

public setDepthTexture(depthTexture: Texture, depthPacking: Number) source

Sets the depth texture.

Override:

Pass#setDepthTexture

Params:

NameTypeAttributeDescription
depthTexture Texture

A depth texture.

depthPacking Number
  • optional
  • default: 0

The depth packing.

public setSize(width: Number, height: Number) source

Updates the size of this pass.

Override:

Pass#setSize

Params:

NameTypeAttributeDescription
width Number

The width.

height Number

The height.

Private Methods

private createMaterial(): Material source

Creates a compound shader material.

Return:

Material

The new material.