Options
All
  • Public
  • Public/Protected
  • All
Menu

System plugin to the renderer to manage filters.

Pipeline

The FilterSystem executes the filtering pipeline by rendering the display-object into a texture, applying its filters in series, and the last filter outputs into the final render-target.

The filter-frame is the rectangle in world space being filtered, and those contents are mapped into (0, 0, filterFrame.width, filterFrame.height) into the filter render-texture. The filter-frame is also called the source-frame, as it is used to bind the filter render-textures. The last filter outputs to the filterFrame in the final render-target.

Usage

{@link PIXI.Container#renderAdvanced} is an example of how to use the filter system. It is a 3 step process:

  • push: Use {@link PIXI.FilterSystem#push} to push the set of filters to be applied on a filter-target.
  • render: Render the contents to be filtered using the renderer. The filter-system will only capture the contents inside the bounds of the filter-target. NOTE: Using {@link PIXI.Renderer#render} is illegal during an existing render cycle, and it may reset the filter system.
  • pop: Use {@link PIXI.FilterSystem#pop} to pop & execute the filters you initially pushed. It will apply them serially and output to the bounds of the filter-target.
memberof

PIXI

Hierarchy

Index

Constructors

constructor

Properties

Protected activeState

activeState: FilterState

Readonly defaultFilterStack

defaultFilterStack: FilterState[]

forceClear

forceClear: boolean

Protected globalUniforms

globalUniforms: UniformGroup

Protected quad

quad: Quad

Protected quadUv

quadUv: QuadUv

renderer

renderer: Renderer

Private roundFrame

roundFrame: any

statePool

statePool: FilterState[]

Private tempRect

tempRect: any

texturePool

texturePool: RenderTexturePool

Private transformAABB

transformAABB: any
param

first param

param

second param

useMaxPadding

useMaxPadding: boolean

Methods

applyFilter

  • Draws a filter.

    Parameters

    Returns void

bindAndClear

  • Binds a renderTexture with corresponding filterFrame, clears it if mode corresponds.

    Parameters

    • filterTexture: RenderTexture

      renderTexture to bind, should belong to filter pool or filter stack

    • Optional clearMode: CLEAR_MODES

    Returns void

calculateSpriteMatrix

  • Multiply input normalized coordinates to this matrix to get sprite texture normalized coordinates.

    Use outputMatrix * vTextureCoord in the shader.

    Parameters

    Returns Matrix

    The mapped matrix.

destroy

  • destroy(): void
  • Destroys this Filter System.

    Returns void

emptyPool

  • emptyPool(): void
  • Empties the texture pool.

    Returns void

getFilterTexture

  • Gets extra render texture to use inside current filter To be compliant with older filters, you can use params in any order

    Parameters

    Returns RenderTexture

Protected getOptimalFilterTexture

  • getOptimalFilterTexture(minWidth: number, minHeight: number, resolution?: number): RenderTexture
  • Gets a Power-of-Two render texture or fullScreen texture

    Parameters

    • minWidth: number

      The minimum width of the render texture in real pixels.

    • minHeight: number

      The minimum height of the render texture in real pixels.

    • Optional resolution: number

    Returns RenderTexture

    The new render texture.

pop

  • pop(): void
  • Pops off the filter and applies it.

    Returns void

push

  • Pushes a set of filters to be applied later to the system. This will redirect further rendering into an input render-texture for the rest of the filtering pipeline.

    Parameters

    • target: IFilterTarget

      The target of the filter to render.

    • filters: Filter[]

      The filters to apply.

    Returns void

resize

  • resize(): void
  • calls texturePool.resize(), affects fullScreen renderTextures

    Returns void

returnFilterTexture

  • Frees a render texture back into the pool.

    Parameters

    Returns void

Generated using TypeDoc