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

BlurPass

Extends:

Pass → BlurPass

Indirect Implements:

An efficient, incremental blur pass.

Note: This pass allows the input and output buffer to be the same.

Constructor Summary

Public Constructor
public

constructor(options: Object)

Constructs a new blur pass.

Member Summary

Public Members
public

Whether the blurred result should also be dithered using noise.

public get

The absolute height of the internal render targets.

public get

The kernel size.

public set
public get

The absolute width of the internal render targets.

Private Members
private

A convolution shader material.

private

A convolution shader material that uses dithering.

private

renderTargetX: WebGLRenderTarget

A render target.

private

renderTargetY: WebGLRenderTarget

A second render target.

private

resolution: Vector2

The original resolution.

private

The current resolution scale.

Method Summary

Public Methods
public

Returns the current resolution scale.

public

initialize(renderer: WebGLRenderer, alpha: Boolean)

Performs initialization tasks.

public

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

Blurs the input buffer and writes the result to the output buffer.

public

Sets the resolution scale.

public

setSize(width: Number, height: Number)

Updates the size of this pass.

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(options: Object) source

Constructs a new blur pass.

Override:

Pass#constructor

Params:

NameTypeAttributeDescription
options Object
  • optional

The options.

options.resolutionScale Number
  • optional
  • default: 0.5

The render texture resolution scale, relative to the screen render size.

options.kernelSize Number
  • optional
  • default: KernelSize.LARGE

The blur kernel size.

Public Members

public dithering: Boolean source

Whether the blurred result should also be dithered using noise.

public get height: Number source

The absolute height of the internal render targets.

public get kernelSize: KernelSize source

The kernel size.

public set kernelSize: KernelSize source

public get width: Number source

The absolute width of the internal render targets.

Private Members

private convolutionMaterial: ConvolutionMaterial source

A convolution shader material.

private ditheredConvolutionMaterial: ConvolutionMaterial source

A convolution shader material that uses dithering.

private renderTargetX: WebGLRenderTarget source

A render target.

private renderTargetY: WebGLRenderTarget source

A second render target.

private resolution: Vector2 source

The original resolution.

private resolutionScale: Number source

The current resolution scale.

Public Methods

public getResolutionScale(): Number source

Returns the current resolution scale.

Return:

Number

The resolution scale.

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 render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) source

Blurs the input buffer and writes the result to the output buffer. The input buffer remains intact, unless its also the output buffer.

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 setResolutionScale(scale: Number) source

Sets the resolution scale.

Params:

NameTypeAttributeDescription
scale Number

The new resolution scale.

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.