# Class default

#### Hierarchy (view full)

- MultiPipeline
  - default
    - default

- Defined in src/pipelines/field-sprite.ts:209

#####
Index

### Constructors

constructor

### Properties

active
activeBuffer
activeTextures
batch
bytes
calcMatrix
config
currentBatch
currentRenderTarget
currentShader
currentTexture
currentUnit
forceZero
game
gl
glReset
hasBooted
height
isPostFX
isPreFX
manager
name
projectionHeight
projectionMatrix
projectionWidth
renderTargets
renderer
resizeUniform
shaders
topology
vertexBuffer
vertexCapacity
vertexCount
vertexData
vertexViewF32
vertexViewU32
view
width

### Methods

addListener
addTextureToBatch
batchFillPath
batchFillRect
batchFillTriangle
batchLine
batchQuad
batchSprite
batchStrokePath
batchStrokeTriangle
batchTexture
batchTextureFrame
batchTri
batchVert
bind
bindRenderTarget
bindTexture
boot
createBatch
destroy
drawFillRect
emit
eventNames
flipProjectionMatrix
flush
getShaderByName
listenerCount
listeners
off
on
onActive
onAfterFlush
onBatch
onBeforeFlush
onBind
onBoot
onDraw
onPostBatch
onPostRender
onPreBatch
onPreRender
onRebind
onRender
onResize
once
postBatch
preBatch
pushBatch
rebind
removeAllListeners
removeListener
resize
restoreContext
set1f
set1fv
set1i
set1iv
set2f
set2fv
set2i
set2iv
set3f
set3fv
set3i
set3iv
set4f
set4fv
set4i
set4iv
setBoolean
setGameObject
setMatrix2fv
setMatrix3fv
setMatrix4fv
setProjectionMatrix
setShader
setShadersFromConfig
setTexture2D
setTime
setVertexBuffer
shouldFlush
shutdown
unbind
updateProjectionMatrix
vertexAvailable

## Constructors

### constructor

- new default(game, config?): default

- #### Parameters

  - game: Game
  - `Optional` config: WebGLPipelineConfig

  #### Returns default

  Overrides Phaser.Renderer.WebGL.Pipelines.MultiPipeline.constructor

  - Defined in src/pipelines/field-sprite.ts:210

## Properties

### active

active: boolean

Indicates if the current pipeline is active, or not.

Toggle this property to enable or disable a pipeline from rendering anything.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.active

- Defined in node_modules/phaser/types/phaser.d.ts:96009

### activeBuffer

activeBuffer: WebGLBufferWrapper

The currently active WebGLBuffer.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.activeBuffer

- Defined in node_modules/phaser/types/phaser.d.ts:95980

### activeTextures

activeTextures: WebGLTextureWrapper[]

The currently active WebGLTextures, used as part of the batch process.

Reset to empty as part of the bind method.

Treat this array as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.activeTextures

- Defined in node_modules/phaser/types/phaser.d.ts:96140

### batch

batch: WebGLPipelineBatchEntry[]

The temporary Pipeline batch. This array contains the batch entries for the current frame, which is a package of textures and vertex offsets used for drawing. This package is built dynamically as the frame is built and cleared during the flush method.

Treat this array and all of its contents as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batch

- Defined in node_modules/phaser/types/phaser.d.ts:96106

### bytes

bytes: Uint8Array

Uint8 view to the `vertexData` ArrayBuffer. Used for uploading vertex buffer resources to the GPU.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.bytes

- Defined in node_modules/phaser/types/phaser.d.ts:95992

### calcMatrix

calcMatrix: TransformMatrix

A temporary Transform Matrix, re-used internally during batching by the Shape Game Objects.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.calcMatrix

- Defined in node_modules/phaser/types/phaser.d.ts:94458

### config

config: WebGLPipelineConfig

The configuration object that was used to create this pipeline.

Treat this object as 'read only', because changing it post-creation will not impact this pipeline in any way. However, it is used internally for cloning and post-boot set-up.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.config

- Defined in node_modules/phaser/types/phaser.d.ts:96087

### currentBatch

currentBatch: WebGLPipelineBatchEntry

The most recently created Pipeline batch entry.

Reset to null as part of the flush method.

Treat this value as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.currentBatch

- Defined in node_modules/phaser/types/phaser.d.ts:96115

### currentRenderTarget

currentRenderTarget: RenderTarget

A reference to the currently bound Render Target instance from the `WebGLPipeline.renderTargets` array.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.currentRenderTarget

- Defined in node_modules/phaser/types/phaser.d.ts:96044

### currentShader

currentShader: WebGLShader

A reference to the currently bound WebGLShader instance from the `WebGLPipeline.shaders` array.

For lots of pipelines, this is the only shader, so it is a quick way to reference it without an array look-up.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.currentShader

- Defined in node_modules/phaser/types/phaser.d.ts:96063

### currentTexture

currentTexture: WebGLTextureWrapper

The most recently bound texture, used as part of the batch process.

Reset to null as part of the flush method.

Treat this value as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.currentTexture

- Defined in node_modules/phaser/types/phaser.d.ts:96124

### currentUnit

currentUnit: number

Holds the most recently assigned texture unit.

Treat this value as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.currentUnit

- Defined in node_modules/phaser/types/phaser.d.ts:96131

### forceZero

forceZero: boolean

Some pipelines require the forced use of texture zero (like the light pipeline).

This property should be set when that is the case.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.forceZero

- Defined in node_modules/phaser/types/phaser.d.ts:96016

### game

game: Game

The Phaser Game instance to which this pipeline is bound.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.game

- Defined in node_modules/phaser/types/phaser.d.ts:95914

### gl

gl: WebGLRenderingContext

The WebGL context this WebGL Pipeline uses.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.gl

- Defined in node_modules/phaser/types/phaser.d.ts:95932

### glReset

glReset: boolean

Has the GL Context been reset to the Phaser defaults since the last time this pipeline was bound? This is set automatically when the Pipeline Manager resets itself, usually after handing off to a 3rd party renderer like Spine.

You should treat this property as read-only.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.glReset

- Defined in node_modules/phaser/types/phaser.d.ts:96096

### `Readonly` hasBooted

hasBooted: boolean

Indicates if this pipeline has booted or not.

A pipeline boots only when the Game instance itself, and all associated systems, is fully ready.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.hasBooted

- Defined in node_modules/phaser/types/phaser.d.ts:96024

### height

height: number

Height of the current viewport.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.height

- Defined in node_modules/phaser/types/phaser.d.ts:95947

### `Readonly` isPostFX

isPostFX: boolean

Indicates if this is a Post FX Pipeline, or not.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.isPostFX

- Defined in node_modules/phaser/types/phaser.d.ts:96029

### `Readonly` isPreFX

isPreFX: boolean

Indicates if this is a Pre FX Pipeline, or not.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.isPreFX

- Defined in node_modules/phaser/types/phaser.d.ts:96034

### manager

manager: PipelineManager

A reference to the WebGL Pipeline Manager.

This is initially undefined and only set when this pipeline is added to the manager.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.manager

- Defined in node_modules/phaser/types/phaser.d.ts:95927

### name

name: string

Name of the pipeline. Used for identification and setting from Game Objects.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.name

- Defined in node_modules/phaser/types/phaser.d.ts:95909

### projectionHeight

projectionHeight: number

The cached height of the Projection matrix.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.projectionHeight

- Defined in node_modules/phaser/types/phaser.d.ts:96078

### projectionMatrix

projectionMatrix: Matrix4

The Projection matrix, used by shaders as 'uProjectionMatrix' uniform.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.projectionMatrix

- Defined in node_modules/phaser/types/phaser.d.ts:96068

### projectionWidth

projectionWidth: number

The cached width of the Projection matrix.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.projectionWidth

- Defined in node_modules/phaser/types/phaser.d.ts:96073

### renderTargets

renderTargets: RenderTarget[]

An array of RenderTarget instances that belong to this pipeline.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.renderTargets

- Defined in node_modules/phaser/types/phaser.d.ts:96039

### renderer

renderer: WebGLRenderer

The WebGL Renderer instance to which this pipeline is bound.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.renderer

- Defined in node_modules/phaser/types/phaser.d.ts:95919

### resizeUniform

resizeUniform: string

If the WebGL Renderer changes size, this uniform will be set with the new width and height values as part of the pipeline resize method. Various built-in pipelines, such as the MultiPipeline, set this property automatically to `uResolution`.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.resizeUniform

- Defined in node_modules/phaser/types/phaser.d.ts:96147

### shaders

shaders: WebGLShader[]

An array of all the WebGLShader instances that belong to this pipeline.

Shaders manage their own attributes and uniforms, but share the same vertex data buffer, which belongs to this pipeline.

Shaders are set in a call to the `setShadersFromConfig` method, which happens automatically, but can also be called at any point in your game. See the method documentation for details.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.shaders

- Defined in node_modules/phaser/types/phaser.d.ts:96055

### topology

topology: number

The primitive topology which the pipeline will use to submit draw calls.

Defaults to GL_TRIANGLES if not otherwise set in the config.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.topology

- Defined in node_modules/phaser/types/phaser.d.ts:95987

### `Readonly` vertexBuffer

vertexBuffer: WebGLBufferWrapper

The WebGLBuffer that holds the vertex data.

Created from the `vertexData` ArrayBuffer. If `vertices` are set in the config, a `STATIC_DRAW` buffer is created. If not, a `DYNAMIC_DRAW` buffer is created.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexBuffer

- Defined in node_modules/phaser/types/phaser.d.ts:95975

### vertexCapacity

vertexCapacity: number

The total number of vertices that this pipeline batch can hold before it will flush.

This defaults to `renderer batchSize * 6`, where `batchSize` is defined in the Renderer Game Config.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexCapacity

- Defined in node_modules/phaser/types/phaser.d.ts:95959

### vertexCount

vertexCount: number

The current number of vertices that have been added to the pipeline batch.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexCount

- Defined in node_modules/phaser/types/phaser.d.ts:95952

### `Readonly` vertexData

vertexData: ArrayBuffer

Raw byte buffer of vertices.

Either set via the config object `vertices` property, or generates a new Array Buffer of size `vertexCapacity * vertexSize`.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexData

- Defined in node_modules/phaser/types/phaser.d.ts:95967

### vertexViewF32

vertexViewF32: Float32Array

Float32 view of the array buffer containing the pipeline's vertices.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexViewF32

- Defined in node_modules/phaser/types/phaser.d.ts:95997

### vertexViewU32

vertexViewU32: Uint32Array

Uint32 view of the array buffer containing the pipeline's vertices.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexViewU32

- Defined in node_modules/phaser/types/phaser.d.ts:96002

### view

view: HTMLCanvasElement

The canvas which this WebGL Pipeline renders to.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.view

- Defined in node_modules/phaser/types/phaser.d.ts:95937

### width

width: number

Width of the current viewport.

Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.width

- Defined in node_modules/phaser/types/phaser.d.ts:95942

## Methods

### addListener

- addListener(event, fn, context?): this

- Add a listener for a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - fn: Function

    The listener function.

  - `Optional` context: any

    The context to invoke the listener with. Default this.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.addListener

  - Defined in node_modules/phaser/types/phaser.d.ts:9951

### addTextureToBatch

- addTextureToBatch(texture): void

- Adds the given texture to the current WebGL Pipeline Batch Entry and increases the batch entry unit and maxUnit values by 1.

  #### Parameters

  - texture: WebGLTextureWrapper

    The texture assigned to this batch entry.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.addTextureToBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96210

### batchFillPath

- batchFillPath(path, currentMatrix, parentMatrix): void

- Adds the given path to the vertex batch for rendering.

  It works by taking the array of path data and then passing it through Earcut, which creates a list of polygons. Each polygon is then added to the batch.

  The path is always automatically closed because it's filled.

  #### Parameters

  - path: Vector2Like[]

    Collection of points that represent the path.

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchFillPath

  - Defined in node_modules/phaser/types/phaser.d.ts:94582

### batchFillRect

- batchFillRect(x, y, width, height, currentMatrix, parentMatrix): void

- Pushes a filled rectangle into the vertex batch.

  Rectangle factors in the given transform matrices before adding to the batch.

  #### Parameters

  - x: number

    Horizontal top left coordinate of the rectangle.

  - y: number

    Vertical top left coordinate of the rectangle.

  - width: number

    Width of the rectangle.

  - height: number

    Height of the rectangle.

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchFillRect

  - Defined in node_modules/phaser/types/phaser.d.ts:94536

### batchFillTriangle

- batchFillTriangle(x0, y0, x1, y1, x2, y2, currentMatrix, parentMatrix): void

- Pushes a filled triangle into the vertex batch.

  Triangle factors in the given transform matrices before adding to the batch.

  #### Parameters

  - x0: number

    Point 0 x coordinate.

  - y0: number

    Point 0 y coordinate.

  - x1: number

    Point 1 x coordinate.

  - y1: number

    Point 1 y coordinate.

  - x2: number

    Point 2 x coordinate.

  - y2: number

    Point 2 y coordinate.

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchFillTriangle

  - Defined in node_modules/phaser/types/phaser.d.ts:94551

### batchLine

- batchLine(ax, ay, bx, by, aLineWidth, bLineWidth, index, closePath, currentMatrix, parentMatrix): void

- Creates a line out of 4 quads and adds it to the vertex batch based on the given line values.

  #### Parameters

  - ax: number

    x coordinate of the start of the line.

  - ay: number

    y coordinate of the start of the line.

  - bx: number

    x coordinate of the end of the line.

  - by: number

    y coordinate of the end of the line.

  - aLineWidth: number

    Width of the start of the line.

  - bLineWidth: number

    Width of the end of the line.

  - index: number

    If this line is part of a multi-line draw, the index of the line in the draw.

  - closePath: boolean

    Does this line close a multi-line path?

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchLine

  - Defined in node_modules/phaser/types/phaser.d.ts:94612

### batchQuad

- batchQuad(gameObject, x0, y0, x1, y1, x2, y2, x3, y3, u0, v0, u1, v1, tintTL, tintTR, tintBL, tintBR, tintEffect, texture?, unit?): boolean

- Adds the vertices data into the batch and flushes if full.

  Assumes 6 vertices in the following arrangement:

      0----3
      |\  B|
      | \  |
      |  \ |
      | A \|
      |    \
      1----2

  Where tx0/ty0 = 0, tx1/ty1 = 1, tx2/ty2 = 2 and tx3/ty3 = 3

  #### Parameters

  - gameObject: GameObject

    The Game Object, if any, drawing this quad.

  - x0: number

    The top-left x position.

  - y0: number

    The top-left y position.

  - x1: number

    The bottom-left x position.

  - y1: number

    The bottom-left y position.

  - x2: number

    The bottom-right x position.

  - y2: number

    The bottom-right y position.

  - x3: number

    The top-right x position.

  - y3: number

    The top-right y position.

  - u0: number

    UV u0 value.

  - v0: number

    UV v0 value.

  - u1: number

    UV u1 value.

  - v1: number

    UV v1 value.

  - tintTL: number

    The top-left tint color value.

  - tintTR: number

    The top-right tint color value.

  - tintBL: number

    The bottom-left tint color value.

  - tintBR: number

    The bottom-right tint color value.

  - tintEffect: number | boolean

    The tint effect for the shader to use.

  - `Optional` texture: WebGLTextureWrapper

    Texture that will be assigned to the current batch if a flush occurs.

  - `Optional` unit: number

    Texture unit to which the texture needs to be bound. Default 0.

  #### Returns boolean

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchQuad

  - Defined in node_modules/phaser/types/phaser.d.ts:96551

### batchSprite

- batchSprite(gameObject, camera, parentTransformMatrix?): void

- Takes a Sprite Game Object, or any object that extends it, and adds it to the batch.

  #### Parameters

  - gameObject: Sprite | Image

    The texture based Game Object to add to the batch.

  - camera: Camera

    The Camera to use for the rendering transform.

  - `Optional` parentTransformMatrix: TransformMatrix

    The transform matrix of the parent container, if set.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchSprite

  - Defined in node_modules/phaser/types/phaser.d.ts:94473

### batchStrokePath

- batchStrokePath(path, lineWidth, pathOpen, currentMatrix, parentMatrix): void

- Adds the given path to the vertex batch for rendering.

  It works by taking the array of path data and calling `batchLine` for each section of the path.

  The path is optionally closed at the end.

  #### Parameters

  - path: Vector2Like[]

    Collection of points that represent the path.

  - lineWidth: number

    The width of the line segments in pixels.

  - pathOpen: boolean

    Indicates if the path should be closed or left open.

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchStrokePath

  - Defined in node_modules/phaser/types/phaser.d.ts:94597

### batchStrokeTriangle

- batchStrokeTriangle(x0, y0, x1, y1, x2, y2, lineWidth, currentMatrix, parentMatrix): void

- Pushes a stroked triangle into the vertex batch.

  Triangle factors in the given transform matrices before adding to the batch.

  The triangle is created from 3 lines and drawn using the `batchStrokePath` method.

  #### Parameters

  - x0: number

    Point 0 x coordinate.

  - y0: number

    Point 0 y coordinate.

  - x1: number

    Point 1 x coordinate.

  - y1: number

    Point 1 y coordinate.

  - x2: number

    Point 2 x coordinate.

  - y2: number

    Point 2 y coordinate.

  - lineWidth: number

    The width of the line in pixels.

  - currentMatrix: TransformMatrix

    The current transform.

  - parentMatrix: TransformMatrix

    The parent transform.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchStrokeTriangle

  - Defined in node_modules/phaser/types/phaser.d.ts:94569

### batchTexture

- batchTexture(gameObject, texture, textureWidth, textureHeight, srcX, srcY, srcWidth, srcHeight, scaleX, scaleY, rotation, flipX, flipY, scrollFactorX, scrollFactorY, displayOriginX, displayOriginY, frameX, frameY, frameWidth, frameHeight, tintTL, tintTR, tintBL, tintBR, tintEffect, uOffset, vOffset, camera, parentTransformMatrix, skipFlip?, textureUnit?, skipPrePost?): void

- Generic function for batching a textured quad using argument values instead of a Game Object.

  #### Parameters

  - gameObject: GameObject

    Source GameObject.

  - texture: WebGLTextureWrapper

    Texture associated with the quad.

  - textureWidth: number

    Real texture width.

  - textureHeight: number

    Real texture height.

  - srcX: number

    X coordinate of the quad.

  - srcY: number

    Y coordinate of the quad.

  - srcWidth: number

    Width of the quad.

  - srcHeight: number

    Height of the quad.

  - scaleX: number

    X component of scale.

  - scaleY: number

    Y component of scale.

  - rotation: number

    Rotation of the quad.

  - flipX: boolean

    Indicates if the quad is horizontally flipped.

  - flipY: boolean

    Indicates if the quad is vertically flipped.

  - scrollFactorX: number

    By which factor is the quad affected by the camera horizontal scroll.

  - scrollFactorY: number

    By which factor is the quad effected by the camera vertical scroll.

  - displayOriginX: number

    Horizontal origin in pixels.

  - displayOriginY: number

    Vertical origin in pixels.

  - frameX: number

    X coordinate of the texture frame.

  - frameY: number

    Y coordinate of the texture frame.

  - frameWidth: number

    Width of the texture frame.

  - frameHeight: number

    Height of the texture frame.

  - tintTL: number

    Tint for top left.

  - tintTR: number

    Tint for top right.

  - tintBL: number

    Tint for bottom left.

  - tintBR: number

    Tint for bottom right.

  - tintEffect: number

    The tint effect.

  - uOffset: number

    Horizontal offset on texture coordinate.

  - vOffset: number

    Vertical offset on texture coordinate.

  - camera: Camera

    Current used camera.

  - parentTransformMatrix: TransformMatrix

    Parent container.

  - `Optional` skipFlip: boolean

    Skip the renderTexture check. Default false.

  - `Optional` textureUnit: number

    The texture unit to set (defaults to currently bound if undefined or null)

  - `Optional` skipPrePost: boolean

    Skip the pre and post manager calls? Default false.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchTexture

  - Defined in node_modules/phaser/types/phaser.d.ts:94511

### batchTextureFrame

- batchTextureFrame(frame, x, y, tint, alpha, transformMatrix, parentTransformMatrix?): void

- Adds a Texture Frame into the batch for rendering.

  #### Parameters

  - frame: Frame

    The Texture Frame to be rendered.

  - x: number

    The horizontal position to render the texture at.

  - y: number

    The vertical position to render the texture at.

  - tint: number

    The tint color.

  - alpha: number

    The alpha value.

  - transformMatrix: TransformMatrix

    The Transform Matrix to use for the texture.

  - `Optional` parentTransformMatrix: TransformMatrix

    A parent Transform Matrix.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchTextureFrame

  - Defined in node_modules/phaser/types/phaser.d.ts:94523

### batchTri

- batchTri(gameObject, x1, y1, x2, y2, x3, y3, u0, v0, u1, v1, tintTL, tintTR, tintBL, tintEffect, texture?, unit?): boolean

- Adds the vertices data into the batch and flushes if full.

  Assumes 3 vertices in the following arrangement:

      0
      |\
      | \
      |  \
      |   \
      |    \
      1-----2

  #### Parameters

  - gameObject: GameObject

    The Game Object, if any, drawing this quad.

  - x1: number

    The bottom-left x position.

  - y1: number

    The bottom-left y position.

  - x2: number

    The bottom-right x position.

  - y2: number

    The bottom-right y position.

  - x3: number

    The top-right x position.

  - y3: number

    The top-right y position.

  - u0: number

    UV u0 value.

  - v0: number

    UV v0 value.

  - u1: number

    UV u1 value.

  - v1: number

    UV v1 value.

  - tintTL: number

    The top-left tint color value.

  - tintTR: number

    The top-right tint color value.

  - tintBL: number

    The bottom-left tint color value.

  - tintEffect: number | boolean

    The tint effect for the shader to use.

  - `Optional` texture: WebGLTextureWrapper

    Texture that will be assigned to the current batch if a flush occurs.

  - `Optional` unit: number

    Texture unit to which the texture needs to be bound. Default 0.

  #### Returns boolean

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchTri

  - Defined in node_modules/phaser/types/phaser.d.ts:96585

### batchVert

- batchVert(x, y, u, v, unit, tintEffect, tint): void

- Adds a single vertex to the current vertex buffer and increments the `vertexCount` property by 1.

  This method is called directly by `batchTri` and `batchQuad`.

  It does not perform any batch limit checking itself, so if you need to call this method directly, do so in the same way that `batchQuad` does, for example.

  #### Parameters

  - x: number

    The vertex x position.

  - y: number

    The vertex y position.

  - u: number

    UV u value.

  - v: number

    UV v value.

  - unit: number

    Texture unit to which the texture needs to be bound.

  - tintEffect: number | boolean

    The tint effect for the shader to use.

  - tint: number

    The tint color value.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.batchVert

  - Defined in node_modules/phaser/types/phaser.d.ts:96512

### bind

- bind(currentShader?): this

- This method is called every time the Pipeline Manager makes this pipeline the currently active one.

  It binds the resources and shader needed for this pipeline, including setting the vertex buffer and attribute pointers.

  #### Parameters

  - `Optional` currentShader: WebGLShader

    The shader to set as being current.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.bind

  - Defined in node_modules/phaser/types/phaser.d.ts:96297

### bindRenderTarget

- bindRenderTarget(target?, unit?): this

- Activates the given Render Target texture and binds it to the requested WebGL texture slot.

  #### Parameters

  - `Optional` target: RenderTarget

    The Render Target to activate and bind.

  - `Optional` unit: number

    The WebGL texture ID to activate. Defaults to `gl.TEXTURE0`. Default 0.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.bindRenderTarget

  - Defined in node_modules/phaser/types/phaser.d.ts:96626

### bindTexture

- bindTexture(target?, unit?): this

- Activates the given WebGL Texture and binds it to the requested texture slot.

  #### Parameters

  - `Optional` target: WebGLTextureWrapper

    Texture to activate and bind.

  - `Optional` unit: number

    The WebGL texture ID to activate. Defaults to `gl.TEXTURE0`. Default 0.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.bindTexture

  - Defined in node_modules/phaser/types/phaser.d.ts:96618

### boot

- boot(): void

- Called every time the pipeline is bound by the renderer. Sets the shader program, vertex buffer and other resources. Should only be called when changing pipeline.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.boot

  - Defined in node_modules/phaser/types/phaser.d.ts:94465

### createBatch

- createBatch(texture): number

- Creates a new WebGL Pipeline Batch Entry, sets the texture unit as zero and pushes the entry into the batch.

  #### Parameters

  - texture: WebGLTextureWrapper

    The texture assigned to this batch entry.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.createBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96203

### destroy

- destroy(): this

- Destroys all shader instances, removes all object references and nulls all external references.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.destroy

  - Defined in node_modules/phaser/types/phaser.d.ts:94617

### drawFillRect

- drawFillRect(x, y, width, height, color, alpha, texture?, flipUV?): void

- Pushes a filled rectangle into the vertex batch.

  The dimensions are run through `Math.floor` before the quad is generated.

  Rectangle has no transform values and isn't transformed into the local space.

  Used for directly batching untransformed rectangles, such as Camera background colors.

  #### Parameters

  - x: number

    Horizontal top left coordinate of the rectangle.

  - y: number

    Vertical top left coordinate of the rectangle.

  - width: number

    Width of the rectangle.

  - height: number

    Height of the rectangle.

  - color: number

    Color of the rectangle to draw.

  - alpha: number

    Alpha value of the rectangle to draw.

  - `Optional` texture: WebGLTextureWrapper

    texture that will be assigned to the current batch if a flush occurs.

  - `Optional` flipUV: boolean

    Flip the vertical UV coordinates of the texture before rendering? Default true.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.drawFillRect

  - Defined in node_modules/phaser/types/phaser.d.ts:96604

### emit

- emit(event, ...args): boolean

- Calls each of the listeners registered for a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - `Rest` ...args: any[]

    Additional arguments that will be passed to the event handler.

  #### Returns boolean

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.emit

  - Defined in node_modules/phaser/types/phaser.d.ts:9935

### eventNames

- eventNames(): (string | symbol)[]

- Return an array listing the events for which the emitter has registered listeners.

  #### Returns (string | symbol)[]

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.eventNames

  - Defined in node_modules/phaser/types/phaser.d.ts:9916

### flipProjectionMatrix

- flipProjectionMatrix(flipY?): void

- Adjusts this pipelines ortho Projection Matrix to flip the y and bottom values. Call with 'false' as the parameter to flip them back again.

  #### Parameters

  - `Optional` flipY: boolean

    Flip the y and bottom values? Default true.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.flipProjectionMatrix

  - Defined in node_modules/phaser/types/phaser.d.ts:96279

### flush

- flush(isPostFlush?): this

- Uploads the vertex data and emits a draw call for the current batch of vertices.

  #### Parameters

  - `Optional` isPostFlush: boolean

    Was this flush invoked as part of a post-process, or not? Default false.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.flush

  - Defined in node_modules/phaser/types/phaser.d.ts:96371

### getShaderByName

- getShaderByName(name): WebGLShader

- Searches all shaders in this pipeline for one matching the given name, then returns it.

  #### Parameters

  - name: string

    The index of the shader to set.

  #### Returns WebGLShader

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.getShaderByName

  - Defined in node_modules/phaser/types/phaser.d.ts:96186

### listenerCount

- listenerCount(event): number

- Return the number of listeners listening to a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.listenerCount

  - Defined in node_modules/phaser/types/phaser.d.ts:9928

### listeners

- listeners(event): Function[]

- Return the listeners registered for a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  #### Returns Function[]

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.listeners

  - Defined in node_modules/phaser/types/phaser.d.ts:9922

### off

- off(event, fn?, context?, once?): this

- Remove the listeners of a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - `Optional` fn: Function

    Only remove the listeners that match this function.

  - `Optional` context: any

    Only remove the listeners that have this context.

  - `Optional` once: boolean

    Only remove one-time listeners.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.off

  - Defined in node_modules/phaser/types/phaser.d.ts:9977

### on

- on(event, fn, context?): this

- Add a listener for a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - fn: Function

    The listener function.

  - `Optional` context: any

    The context to invoke the listener with. Default this.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.on

  - Defined in node_modules/phaser/types/phaser.d.ts:9943

### onActive

- onActive(currentShader): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called every time the Pipeline Manager makes this the active pipeline. It is called at the end of the `WebGLPipeline.bind` method, after the current shader has been set. The current shader is passed to this hook.

  For example, if a display list has 3 Sprites in it that all use the same pipeline, this hook will only be called for the first one, as the 2nd and 3rd Sprites do not cause the pipeline to be changed.

  If you need to listen for that event instead, use the `onBind` hook.

  #### Parameters

  - currentShader: WebGLShader

    The shader that was set as current.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onActive

  - Defined in node_modules/phaser/types/phaser.d.ts:96386

### onAfterFlush

- onAfterFlush(isPostFlush?): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called immediately after this pipeline has finished flushing its batch.

  It is called after the `gl.drawArrays` call.

  You can perform additional post-render effects, but be careful not to call `flush` on this pipeline from within this method, or you'll cause an infinite loop.

  To apply changes pre-render, see `onBeforeFlush`.

  #### Parameters

  - `Optional` isPostFlush: boolean

    Was this flush invoked as part of a post-process, or not? Default false.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onAfterFlush

  - Defined in node_modules/phaser/types/phaser.d.ts:96494

### onBatch

- onBatch(gameObject): void

- #### Parameters

  - gameObject: GameObject

  #### Returns void

  Overrides Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onBatch

  - Defined in src/pipelines/field-sprite.ts:249

### onBeforeFlush

- onBeforeFlush(isPostFlush?): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called every time this pipeline is asked to flush its batch.

  It is called immediately before the `gl.bufferData` and `gl.drawArrays` calls are made, so you can perform any final pre-render modifications. To apply changes post-render, see `onAfterFlush`.

  #### Parameters

  - `Optional` isPostFlush: boolean

    Was this flush invoked as part of a post-process, or not? Default false.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onBeforeFlush

  - Defined in node_modules/phaser/types/phaser.d.ts:96479

### onBind

- onBind(gameObject): void

- #### Parameters

  - gameObject: GameObject

  #### Returns void

  Overrides Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onBind

  - Defined in src/pipelines/field-sprite.ts:226

### onBoot

- onBoot(): void

- This method is called once when this pipeline has finished being set-up at the end of the boot process. By the time this method is called, all of the shaders are ready and configured.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onBoot

  - Defined in node_modules/phaser/types/phaser.d.ts:96162

### onDraw

- onDraw(renderTarget, swapTarget?): void

- This method is only used by Sprite FX and Post FX Pipelines and those that extend from them.

  This method is called every time the `postBatch` method is called and is passed a reference to the current render target.

  At the very least a Post FX Pipeline should call `this.bindAndDraw(renderTarget)`, however, you can do as much additional processing as you like in this method if you override it from within your own pipelines.

  #### Parameters

  - renderTarget: RenderTarget

    The Render Target.

  - `Optional` swapTarget: RenderTarget

    A Swap Render Target, useful for double-buffer effects. Only set by SpriteFX Pipelines.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onDraw

  - Defined in node_modules/phaser/types/phaser.d.ts:96359

### onPostBatch

- onPostBatch(gameObject?): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called immediately after a Game Object has been added to the batch.

  #### Parameters

  - `Optional` gameObject: GameObject

    The Game Object that invoked this pipeline, if any.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onPostBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96439

### onPostRender

- onPostRender(): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called once per frame, after all rendering has happened and snapshots have been taken.

  It is called at the very end of the rendering process, once all Cameras, for all Scenes, have been rendered.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onPostRender

  - Defined in node_modules/phaser/types/phaser.d.ts:96468

### onPreBatch

- onPreBatch(gameObject?): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called immediately before a Game Object is about to add itself to the batch.

  #### Parameters

  - `Optional` gameObject: GameObject

    The Game Object that invoked this pipeline, if any.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onPreBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96431

### onPreRender

- onPreRender(): void

- #### Returns void

  Overrides Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onPreRender

  - Defined in src/pipelines/field-sprite.ts:219

### onRebind

- onRebind(): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called when the Pipeline Manager needs to rebind this pipeline. This happens after a pipeline has been cleared, usually when passing control over to a 3rd party WebGL library, like Spine, and then returing to Phaser again.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onRebind

  - Defined in node_modules/phaser/types/phaser.d.ts:96408

### onRender

- onRender(scene, camera): void

- By default this is an empty method hook that you can override and use in your own custom pipelines.

  This method is called once per frame, by every Camera in a Scene that wants to render.

  It is called at the start of the rendering process, before anything has been drawn to the Camera.

  #### Parameters

  - scene: Scene

    The Scene being rendered.

  - camera: Camera

    The Scene Camera being rendered with.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onRender

  - Defined in node_modules/phaser/types/phaser.d.ts:96458

### onResize

- onResize(width, height): void

- This method is called once when this pipeline has finished being set-up at the end of the boot process. By the time this method is called, all of the shaders are ready and configured. It's also called if the renderer changes size.

  #### Parameters

  - width: number

    The new width of this WebGL Pipeline.

  - height: number

    The new height of this WebGL Pipeline.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.onResize

  - Defined in node_modules/phaser/types/phaser.d.ts:96172

### once

- once(event, fn, context?): this

- Add a one-time listener for a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - fn: Function

    The listener function.

  - `Optional` context: any

    The context to invoke the listener with. Default this.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.once

  - Defined in node_modules/phaser/types/phaser.d.ts:9959

### postBatch

- postBatch(gameObject?): this

- This method is called as a result of the `WebGLPipeline.batchQuad` method, right after a quad belonging to a Game Object has been added to the batch. When this is called, the renderer has just performed a flush.

  It calls the `onDraw` hook followed by the `onPostBatch` hook, which can be used to perform additional Post FX Pipeline processing.

  It is also called as part of the `PipelineManager.postBatch` method when processing Post FX Pipelines.

  #### Parameters

  - `Optional` gameObject: Camera | GameObject

    The Game Object or Camera that invoked this pipeline, if any.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.postBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96345

### preBatch

- preBatch(gameObject?): this

- This method is called as a result of the `WebGLPipeline.batchQuad` method, right before a quad belonging to a Game Object is about to be added to the batch. When this is called, the renderer has just performed a flush. It will bind the current render target, if any are set and finally call the `onPreBatch` hook.

  It is also called as part of the `PipelineManager.preBatch` method when processing Post FX Pipelines.

  #### Parameters

  - `Optional` gameObject: Camera | GameObject

    The Game Object or Camera that invoked this pipeline, if any.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.preBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96332

### pushBatch

- pushBatch(texture): number

- Takes the given WebGLTextureWrapper and determines what to do with it.

  If there is no current batch (i.e. after a flush) it will create a new batch from it.

  If the texture is already bound, it will return the current texture unit.

  If the texture already exists in the current batch, the unit gets reset to match it.

  If the texture cannot be found in the current batch, and it supports multiple textures, it's added into the batch and the unit indexes are advanced.

  #### Parameters

  - texture: WebGLTextureWrapper

    The texture assigned to this batch entry.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.pushBatch

  - Defined in node_modules/phaser/types/phaser.d.ts:96228

### rebind

- rebind(currentShader?): this

- This method is called every time the Pipeline Manager rebinds this pipeline.

  It resets all shaders this pipeline uses, setting their attributes again.

  #### Parameters

  - `Optional` currentShader: WebGLShader

    The shader to set as being current.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.rebind

  - Defined in node_modules/phaser/types/phaser.d.ts:96305

### removeAllListeners

- removeAllListeners(event?): this

- Remove all listeners, or those of the specified event.

  #### Parameters

  - `Optional` event: string | symbol

    The event name.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.removeAllListeners

  - Defined in node_modules/phaser/types/phaser.d.ts:9983

### removeListener

- removeListener(event, fn?, context?, once?): this

- Remove the listeners of a given event.

  #### Parameters

  - event: string | symbol

    The event name.

  - `Optional` fn: Function

    Only remove the listeners that match this function.

  - `Optional` context: any

    Only remove the listeners that have this context.

  - `Optional` once: boolean

    Only remove one-time listeners.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.removeListener

  - Defined in node_modules/phaser/types/phaser.d.ts:9968

### resize

- resize(width, height): this

- Resizes the properties used to describe the viewport.

  This method is called automatically by the renderer during its resize handler.

  #### Parameters

  - width: number

    The new width of this WebGL Pipeline.

  - height: number

    The new height of this WebGL Pipeline.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.resize

  - Defined in node_modules/phaser/types/phaser.d.ts:96261

### restoreContext

- restoreContext(): void

- This method is called if the WebGL context is lost and restored. It ensures that uniforms are synced back to the GPU for all shaders in this pipeline.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.restoreContext

  - Defined in node_modules/phaser/types/phaser.d.ts:96312

### set1f

- set1f(name, x, shader?): this

- Sets a 1f uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new value of the `float` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set1f

  - Defined in node_modules/phaser/types/phaser.d.ts:96663

### set1fv

- set1fv(name, arr, shader?): this

- Sets a 1fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set1fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96725

### set1i

- set1i(name, x, shader?): this

- Sets a 1i uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new value of the `int` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set1i

  - Defined in node_modules/phaser/types/phaser.d.ts:96837

### set1iv

- set1iv(name, arr, shader?): this

- Sets a 1iv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set1iv

  - Defined in node_modules/phaser/types/phaser.d.ts:96781

### set2f

- set2f(name, x, y, shader?): this

- Sets a 2f uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new X component of the `vec2` uniform.

  - y: number

    The new Y component of the `vec2` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set2f

  - Defined in node_modules/phaser/types/phaser.d.ts:96678

### set2fv

- set2fv(name, arr, shader?): this

- Sets a 2fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set2fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96739

### set2i

- set2i(name, x, y, shader?): this

- Sets a 2i uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new X component of the `ivec2` uniform.

  - y: number

    The new Y component of the `ivec2` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set2i

  - Defined in node_modules/phaser/types/phaser.d.ts:96852

### set2iv

- set2iv(name, arr, shader?): this

- Sets a 2iv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set2iv

  - Defined in node_modules/phaser/types/phaser.d.ts:96795

### set3f

- set3f(name, x, y, z, shader?): this

- Sets a 3f uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new X component of the `vec3` uniform.

  - y: number

    The new Y component of the `vec3` uniform.

  - z: number

    The new Z component of the `vec3` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set3f

  - Defined in node_modules/phaser/types/phaser.d.ts:96694

### set3fv

- set3fv(name, arr, shader?): this

- Sets a 3fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set3fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96753

### set3i

- set3i(name, x, y, z, shader?): this

- Sets a 3i uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    The new X component of the `ivec3` uniform.

  - y: number

    The new Y component of the `ivec3` uniform.

  - z: number

    The new Z component of the `ivec3` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set3i

  - Defined in node_modules/phaser/types/phaser.d.ts:96868

### set3iv

- set3iv(name, arr, shader?): this

- Sets a 3iv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set3iv

  - Defined in node_modules/phaser/types/phaser.d.ts:96809

### set4f

- set4f(name, x, y, z, w, shader?): this

- Sets a 4f uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    X component of the uniform

  - y: number

    Y component of the uniform

  - z: number

    Z component of the uniform

  - w: number

    W component of the uniform

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set4f

  - Defined in node_modules/phaser/types/phaser.d.ts:96711

### set4fv

- set4fv(name, arr, shader?): this

- Sets a 4fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set4fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96767

### set4i

- set4i(name, x, y, z, w, shader?): this

- Sets a 4i uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - x: number

    X component of the uniform.

  - y: number

    Y component of the uniform.

  - z: number

    Z component of the uniform.

  - w: number

    W component of the uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set4i

  - Defined in node_modules/phaser/types/phaser.d.ts:96885

### set4iv

- set4iv(name, arr, shader?): this

- Sets a 4iv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - arr: number[] | Float32Array

    The new value to be used for the uniform variable.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.set4iv

  - Defined in node_modules/phaser/types/phaser.d.ts:96823

### setBoolean

- setBoolean(name, value, shader?): this

- Sets a boolean uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - value: boolean

    The new value of the `boolean` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setBoolean

  - Defined in node_modules/phaser/types/phaser.d.ts:96649

### setGameObject

- setGameObject(gameObject, frame?): number

- Custom pipelines can use this method in order to perform any required pre-batch tasks for the given Game Object. It must return the texture unit the Game Object was assigned.

  #### Parameters

  - gameObject: GameObject

    The Game Object being rendered or added to the batch.

  - `Optional` frame: Frame

    Optional frame to use. Can override that of the Game Object.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setGameObject

  - Defined in node_modules/phaser/types/phaser.d.ts:96236

### setMatrix2fv

- setMatrix2fv(name, transpose, matrix, shader?): this

- Sets a matrix 2fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - transpose: boolean

    Whether to transpose the matrix. Should be `false`.

  - matrix: number[] | Float32Array

    The new values for the `mat2` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setMatrix2fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96900

### setMatrix3fv

- setMatrix3fv(name, transpose, matrix, shader?): this

- Sets a matrix 3fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - transpose: boolean

    Whether to transpose the matrix. Should be `false`.

  - matrix: Float32Array

    The new values for the `mat3` uniform.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setMatrix3fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96915

### setMatrix4fv

- setMatrix4fv(name, transpose, matrix, shader?): this

- Sets a matrix 4fv uniform value based on the given name on the currently set shader.

  The current shader is bound, before the uniform is set, making it active within the WebGLRenderer. This means you can safely call this method from a location such as a Scene `create` or `update` method. However, when working within a Shader file directly, use the `WebGLShader` method equivalent instead, to avoid the program being set.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - transpose: boolean

    Whether to transpose the matrix. Should be `false`.

  - matrix: Float32Array

    The matrix data. If using a Matrix4 this should be the `Matrix4.val` property.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setMatrix4fv

  - Defined in node_modules/phaser/types/phaser.d.ts:96930

### setProjectionMatrix

- setProjectionMatrix(width, height): this

- Adjusts this pipelines ortho Projection Matrix to use the given dimensions and resets the `uProjectionMatrix` uniform on all bound shaders.

  This method is called automatically by the renderer during its resize handler.

  #### Parameters

  - width: number

    The new width of this WebGL Pipeline.

  - height: number

    The new height of this WebGL Pipeline.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setProjectionMatrix

  - Defined in node_modules/phaser/types/phaser.d.ts:96271

### setShader

- setShader(shader, setAttributes?, vertexBuffer?): this

- Sets the currently active shader within this pipeline.

  #### Parameters

  - shader: WebGLShader

    The shader to set as being current.

  - `Optional` setAttributes: boolean

    Should the vertex attribute pointers be set? Default false.

  - `Optional` vertexBuffer: WebGLBufferWrapper

    The vertex buffer to be set before the shader is bound. Defaults to the one owned by this pipeline.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setShader

  - Defined in node_modules/phaser/types/phaser.d.ts:96180

### setShadersFromConfig

- setShadersFromConfig(config): this

- Destroys all shaders currently set in the `WebGLPipeline.shaders` array and then parses the given `config` object, extracting the shaders from it, creating `WebGLShader` instances and finally setting them into the `shaders` array of this pipeline.

  This is a destructive process. Be very careful when you call it, should you need to.

  #### Parameters

  - config: WebGLPipelineConfig

    The configuration object for this WebGL Pipeline.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setShadersFromConfig

  - Defined in node_modules/phaser/types/phaser.d.ts:96196

### setTexture2D

- setTexture2D(texture?): number

- Sets the texture to be bound to the next available texture unit and returns the unit id.

  #### Parameters

  - `Optional` texture: WebGLTextureWrapper

    Texture that will be assigned to the current batch. If not given uses `whiteTexture`.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setTexture2D

  - Defined in node_modules/phaser/types/phaser.d.ts:96611

### setTime

- setTime(name, shader?): this

- Sets the current duration into a 1f uniform value based on the given name.

  This can be used for mapping time uniform values, such as `iTime`.

  #### Parameters

  - name: string

    The name of the uniform to set.

  - `Optional` shader: WebGLShader

    The shader to set the value on. If not given, the `currentShader` is used.

  #### Returns this

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setTime

  - Defined in node_modules/phaser/types/phaser.d.ts:96635

### setVertexBuffer

- setVertexBuffer(buffer?): boolean

- Binds the vertex buffer to be the active ARRAY_BUFFER on the WebGL context.

  It first checks to see if it's already set as the active buffer and only binds itself if not.

  #### Parameters

  - `Optional` buffer: WebGLBufferWrapper

    The Vertex Buffer to be bound. Defaults to the one owned by this pipeline.

  #### Returns boolean

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.setVertexBuffer

  - Defined in node_modules/phaser/types/phaser.d.ts:96321

### shouldFlush

- shouldFlush(amount?): boolean

- Check if the current batch of vertices is full.

  You can optionally provide an `amount` parameter. If given, it will check if the batch needs to flush if the `amount` is added to it. This allows you to test if you should flush before populating the batch.

  #### Parameters

  - `Optional` amount: number

    Will the batch need to flush if this many vertices are added to it? Default 0.

  #### Returns boolean

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.shouldFlush

  - Defined in node_modules/phaser/types/phaser.d.ts:96246

### shutdown

- shutdown(): void

- Removes all listeners.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.shutdown

  - Defined in node_modules/phaser/types/phaser.d.ts:9906

### unbind

- unbind(): void

- This method is called every time the Pipeline Manager deactivates this pipeline, swapping from it to another one. This happens after a call to `flush` and before the new pipeline is bound.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.unbind

  - Defined in node_modules/phaser/types/phaser.d.ts:96365

### updateProjectionMatrix

- updateProjectionMatrix(): void

- Adjusts this pipelines ortho Projection Matrix to match that of the global WebGL Renderer Projection Matrix.

  This method is called automatically by the Pipeline Manager when this pipeline is set.

  #### Returns void

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.updateProjectionMatrix

  - Defined in node_modules/phaser/types/phaser.d.ts:96288

### vertexAvailable

- vertexAvailable(): number

- Returns the number of vertices that can be added to the current batch before it will trigger a flush to happen.

  #### Returns number

  Inherited from Phaser.Renderer.WebGL.Pipelines.MultiPipeline.vertexAvailable

  - Defined in node_modules/phaser/types/phaser.d.ts:96252