Skip to main content
Version: Phaser v4.0.0

FilterDisplacement

A RenderNode that applies a displacement filter effect to the WebGL rendering pipeline.

Displacement filtering offsets the pixels of the source image using a displacement map texture. The red channel of the map controls horizontal offset and the green channel controls vertical offset. The magnitude of the displacement is scaled by the controller's x and y amount values, allowing you to create ripple, wave, heat-haze, and similar distortion effects at runtime.

This node is used internally by Phaser.Filters.Displacement and is not typically instantiated directly. Use the Displacement filter on a Game Object or Camera to apply this effect.

Constructor

new FilterDisplacement(manager)

Parameters

nametypeoptionaldescription
managerPhaser.Renderer.WebGL.RenderNodes.RenderNodeManagerNoThe manager that owns this RenderNode.

Scope: static

Extends

Phaser.Renderer.WebGL.RenderNodes.BaseFilterShader

Source: src/renderer/webgl/renderNodes/filters/FilterDisplacement.js#L12
Since: 4.0.0

Inherited Methods

From Phaser.Renderer.WebGL.RenderNodes.BaseFilterShader:

From Phaser.Renderer.WebGL.RenderNodes.RenderNode:


Public Methods

setupTextures

<instance> setupTextures(controller, textures)

Description:

Binds the displacement map texture used by this filter.

Assigns the controller's WebGL displacement texture to texture slot 1, which maps to the uDisplacementSampler uniform in the fragment shader.

Parameters:

nametypeoptionaldescription
controllerPhaser.Filters.DisplacementNoThe Displacement filter controller providing the displacement map texture.
texturesArray.<WebGLTexture>NoThe textures array for this render pass. The displacement texture is written to index 1.

Overrides: Phaser.Renderer.WebGL.RenderNodes.BaseFilterShader#setupTextures

Source: src/renderer/webgl/renderNodes/filters/FilterDisplacement.js#L42
Since: 4.0.0


setupUniforms

<instance> setupUniforms(controller, drawingContext)

Description:

Sets the shader uniforms required by the displacement filter.

Passes the displacement sampler index and the displacement amount vector to the fragment shader. The amount vector is a two-component value whose x and y components scale the horizontal and vertical displacement respectively, as defined on the Phaser.Filters.Displacement controller.

Parameters:

nametypeoptionaldescription
controllerPhaser.Filters.DisplacementNoThe Displacement filter controller providing the displacement amount values.
drawingContextPhaser.Renderer.WebGL.DrawingContextNoThe current drawing context.

Overrides: Phaser.Renderer.WebGL.RenderNodes.BaseFilterShader#setupUniforms

Source: src/renderer/webgl/renderNodes/filters/FilterDisplacement.js#L59
Since: 4.0.0


Inherited Members

From Phaser.Renderer.WebGL.RenderNodes.BaseFilterShader:

From Phaser.Renderer.WebGL.RenderNodes.RenderNode: