Class: DisplacementFilter
Defined in: node_modules/pixi.js/lib/filters/defaults/displacement/DisplacementFilter.d.ts:87
A filter that applies a displacement map effect using a sprite's texture.
The DisplacementFilter uses another texture (from a sprite) as a displacement map, where the red and green channels of each pixel in the map determine how the corresponding pixel in the filtered object should be offset:
- Red channel controls horizontal displacement
- Green channel controls vertical displacement
Common use cases:
- Creating ripple or wave effects
- Distorting images dynamically
- Implementing heat haze effects
- Creating transition effects
Example
import { Sprite, DisplacementFilter } from 'pixi.js';
// Create a sprite to use as the displacement map
const displacementSprite = Sprite.from('displacement-map.png');
// Create and configure the filter
const displacementFilter = new DisplacementFilter({
sprite: displacementSprite,
scale: { x: 20, y: 20 }
});
// Apply to any display object
container.filters = [displacementFilter];
Author
Vico: vicocotea
Standard
No Inherit Doc
Extends
Constructors
Constructor
> new DisplacementFilter(options): DisplacementFilter
Defined in: node_modules/pixi.js/lib/filters/defaults/displacement/DisplacementFilter.d.ts:94
Parameters
options
Sprite | DisplacementFilterOptions
The sprite or options object.
Returns
DisplacementFilter
Overrides
Constructor
> new DisplacementFilter(sprite, scale?): DisplacementFilter
Defined in: node_modules/pixi.js/lib/filters/defaults/displacement/DisplacementFilter.d.ts:96
Parameters
sprite
scale?
number | PointData
Returns
DisplacementFilter
Deprecated
since 8.0.0
Overrides
Filter.constructor
Properties
_destroyed
> _destroyed: boolean
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:194
Internal
Inherited from
_state
> _state: State
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:143
Internal
The gpu state the filter requires to render.
Inherited from
_uniformBindMap
> _uniformBindMap: Record<number, Record<number, string>>
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:191
Internal
A record of the uniform groups and resources used by the shader. This is used by WebGL renderer to sync uniform data.
Inherited from
antialias
> antialias: FilterAntialias
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:136
should the filter use antialiasing?
Default
inherit
Inherited from
blendRequired
> blendRequired: boolean
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:154
Whether or not this filter requires the previous render texture for blending.
Default
false
Inherited from
clipToViewport
> clipToViewport: boolean
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:159
Clip texture into viewport or not
Default
true
Inherited from
compatibleRenderers
> readonly compatibleRenderers: number
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:181
A number that uses two bits on whether the shader is compatible with the WebGL renderer and/or the WebGPU renderer. 0b00 - not compatible with either 0b01 - compatible with WebGL 0b10 - compatible with WebGPU This is automatically set based on if a GlProgram or GpuProgram is provided.
Inherited from
enabled
> enabled: boolean
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:138
If enabled is true the filter is applied, if false it will not.
Inherited from
glProgram
> glProgram: GlProgram
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:173
An instance of the GL program used by the WebGL renderer
Inherited from
gpuProgram
> gpuProgram: GpuProgram
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:171
An instance of the GPU program used by the WebGPU renderer
Inherited from
groups
> groups: Record<number, BindGroup>
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:183
Inherited from
padding
> padding: number
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:131
The padding of the filter. Some filters require extra space to breath such as a blur. Increasing this will add extra width and height to the bounds of the object that the filter is applied to.
Default
0
Inherited from
resolution
> resolution: number | "inherit"
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:149
The resolution of the filter. Setting this to be lower will lower the quality but increase the performance of the filter.
Default
1
Inherited from
resources
> resources: Record<string, any>
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:185
A record of the resources used by the shader.
Inherited from
uid
> readonly uid: number
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:169
A unique identifier for the shader
Inherited from
defaultOptions
> static defaultOptions: FilterOptions
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:124
The default filter settings
Inherited from
prefixed
> static prefixed: string | boolean
Defined in: node_modules/eventemitter3/index.d.ts:9
Inherited from
Accessors
blendMode
Get Signature
> get blendMode(): BLEND_MODES
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:176
Get the blend mode of the filter.
Default
"normal"
Returns
Set Signature
> set blendMode(value): void
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:178
Sets the blend mode of the filter.
Parameters
value
Returns
void
Inherited from
scale
Get Signature
> get scale(): Point
Defined in: node_modules/pixi.js/lib/filters/defaults/displacement/DisplacementFilter.d.ts:125
The scale of the displacement effect.
Gets the current x and y scaling values used for the displacement mapping.
- x: Horizontal displacement scale
- y: Vertical displacement scale
Example
const filter = new DisplacementFilter({ sprite });
// Get current scale
console.log(filter.scale.x, filter.scale.y);
// Update scale
filter.scale.x = 100;
filter.scale.y = 50;
Returns
The current scale as a Point object
Methods
addListener()
> addListener<T>(event, fn, context?): this
Defined in: node_modules/eventemitter3/index.d.ts:45
Type Parameters
T
T extends "destroy"
Parameters
event
T
fn
(...args) => void
context?
any
Returns
this
Inherited from
Filter.addListener
addResource()
> addResource(name, groupIndex, bindIndex): void
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:218
Sometimes a resource group will be provided later (for example global uniforms) In such cases, this method can be used to let the shader know about the group.
Parameters
name
string
the name of the resource group
groupIndex
number
the index of the group (should match the webGPU shader group location)
bindIndex
number
the index of the bind point (should match the webGPU shader bind point)
Returns
void
Inherited from
apply()
> apply(filterManager, input, output, clearMode): void
Defined in: node_modules/pixi.js/lib/filters/defaults/displacement/DisplacementFilter.d.ts:105
Applies the filter.
Parameters
filterManager
The manager.
input
The input target.
output
The output target.
clearMode
boolean
clearMode.
Returns
void
Advanced
Overrides
destroy()
> destroy(destroyPrograms?): void
Defined in: node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.d.ts:226
Use to destroy the shader when its not longer needed. It will destroy the resources and remove listeners.
Parameters
destroyPrograms?
boolean
if the programs should be destroyed as well. Make sure its not being used by other shaders!
Returns
void
Inherited from
emit()
> emit<T>(event, ...args): boolean
Defined in: node_modules/eventemitter3/index.d.ts:32
Calls each of the listeners registered for a given event.
Type Parameters
T
T extends "destroy"
Parameters
event
T
args
...ArgumentMap<{ destroy: Shader; }>[Extract<T, "destroy">]
Returns
boolean
Inherited from
Filter.emit
eventNames()
> eventNames(): "destroy"[]
Defined in: node_modules/eventemitter3/index.d.ts:15
Return an array listing the events for which the emitter has registered listeners.
Returns
"destroy"[]
Inherited from
Filter.eventNames
listenerCount()
> listenerCount(event): number
Defined in: node_modules/eventemitter3/index.d.ts:27
Return the number of listeners listening to a given event.
Parameters
event
"destroy"
Returns
number
Inherited from
Filter.listenerCount
listeners()
> listeners<T>(event): (...args) => void[]
Defined in: node_modules/eventemitter3/index.d.ts:20
Return the listeners registered for a given event.
Type Parameters
T
T extends "destroy"
Parameters
event
T
Returns
(...args) => void[]
Inherited from
Filter.listeners
off()
> off<T>(event, fn?, context?, once?): this
Defined in: node_modules/eventemitter3/index.d.ts:69
Type Parameters
T
T extends "destroy"
Parameters
event
T
fn?
(...args) => void
context?
any
once?
boolean
Returns
this
Inherited from
Filter.off
on()
> on<T>(event, fn, context?): this
Defined in: node_modules/eventemitter3/index.d.ts:40
Add a listener for a given event.
Type Parameters
T
T extends "destroy"
Parameters
event
T
fn
(...args) => void
context?
any
Returns
this
Inherited from
Filter.on
once()
> once<T>(event, fn, context?): this
Defined in: node_modules/eventemitter3/index.d.ts:54
Add a one-time listener for a given event.
Type Parameters
T
T extends "destroy"
Parameters
event
T
fn
(...args) => void
context?
any
Returns
this
Inherited from
Filter.once
removeAllListeners()
> removeAllListeners(event?): this
Defined in: node_modules/eventemitter3/index.d.ts:79
Remove all listeners, or those of the specified event.
Parameters
event?
"destroy"
Returns
this
Inherited from
Filter.removeAllListeners
removeListener()
> removeListener<T>(event, fn?, context?, once?): this
Defined in: node_modules/eventemitter3/index.d.ts:63
Remove the listeners of a given event.
Type Parameters
T
T extends "destroy"
Parameters
event
T
fn?
(...args) => void
context?
any
once?
boolean
Returns
this
Inherited from
Filter.removeListener
from()
> static from(options): Filter
Defined in: node_modules/pixi.js/lib/filters/Filter.d.ts:184
A short hand function to create a filter based of a vertex and fragment shader src.
Parameters
options
FilterOptions & ShaderFromResources
Returns
A shiny new PixiJS filter!