Home Reference Source
import {EffectPass} from 'postprocessing'
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
public

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

Updates the shader material.

public

render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: 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.

Inherited Summary

From class Pass
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

Only relevant for subclassing.

public

Indicates whether this pass should render to screen.

protected

camera: Camera

The camera.

protected

scene: Scene

The scene to render.

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, deltaTime: 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 size of the main frame buffer.

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 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: * 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

public needsSwap: * source

Only relevant for subclassing.

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

Set this to false if this pass doesn't render to the output buffer or the screen. Otherwise, the contents of the input buffer will be lost.

Override:

Pass#needsSwap

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

Updates the shader material.

Warning: This method triggers a relatively expensive shader recompilation.

public render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: 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.

deltaTime 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.