The Pre FX Pipeline is a special kind of pipeline designed specifically for applying special effects to Game Objects before they are rendered. Where-as the Post FX Pipeline applies an effect after the object has been rendered, the Pre FX Pipeline allows you to control the rendering of the object itself - passing it off to its own texture, where multi-buffer compositing can take place.
You can only use the PreFX Pipeline on the following types of Game Objects, or those that extend from them:
Sprite Image Text TileSprite RenderTexture Video
Constructor
new PreFXPipeline(config)
Parameters
name | type | optional | description |
---|---|---|---|
config | No | The configuration options for this pipeline. |
Scope: static
Extends
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L20
Since: 3.60.0
Public Members
active
active: boolean
Description:
Indicates if the current pipeline is active, or not.
Toggle this property to enable or disable a pipeline from rendering anything.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#active
Source: src/renderer/webgl/WebGLPipeline.js#L234
Since: 3.10.0
activeBuffer
activeBuffer: Phaser.Renderer.WebGL.Wrappers.WebGLBufferWrapper
Description:
The currently active WebGLBuffer.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#activeBuffer
Source: src/renderer/webgl/WebGLPipeline.js#L187
Since: 3.60.0
activeTextures
activeTextures: Array.<Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper>
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#activeTextures
Source: src/renderer/webgl/WebGLPipeline.js#L438
Since: 3.60.0
batch
batch: Array.<Phaser.Types.Renderer.WebGL.WebGLPipelineBatchEntry>
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#batch
Source: src/renderer/webgl/WebGLPipeline.js#L387
Since: 3.60.0
bytes
bytes: Uint8Array
Description:
Uint8 view to the vertexData
ArrayBuffer. Used for uploading vertex buffer resources to the GPU.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#bytes
Source: src/renderer/webgl/WebGLPipeline.js#L207
Since: 3.0.0
colorMatrixShader
colorMatrixShader: Phaser.Renderer.WebGL.WebGLShader
Description:
A reference to the Color Matrix Shader belonging to this Pipeline.
This property is set during the boot
method.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L139
Since: 3.60.0
config
config: Phaser.Types.Renderer.WebGL.WebGLPipelineConfig
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#config
Source: src/renderer/webgl/WebGLPipeline.js#L361
Since: 3.50.0
copyShader
copyShader: Phaser.Renderer.WebGL.WebGLShader
Description:
A reference to the Copy Shader belonging to this Pipeline.
This shader is used when you call the copySprite
method.
This property is set during the boot
method.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L111
Since: 3.60.0
currentBatch
currentBatch: Phaser.Types.Renderer.WebGL.WebGLPipelineBatchEntry
Description:
The most recently created Pipeline batch entry.
Reset to null as part of the flush method.
Treat this value as read-only.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#currentBatch
Source: src/renderer/webgl/WebGLPipeline.js#L401
Since: 3.60.0
currentRenderTarget
currentRenderTarget: Phaser.Renderer.WebGL.RenderTarget
Description:
A reference to the currently bound Render Target instance from the WebGLPipeline.renderTargets
array.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#currentRenderTarget
Source: src/renderer/webgl/WebGLPipeline.js#L298
Since: 3.50.0
currentShader
currentShader: Phaser.Renderer.WebGL.WebGLShader
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#currentShader
Source: src/renderer/webgl/WebGLPipeline.js#L322
Since: 3.50.0
currentTexture
currentTexture: Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#currentTexture
Source: src/renderer/webgl/WebGLPipeline.js#L414
Since: 3.60.0
currentUnit
currentUnit: number
Description:
Holds the most recently assigned texture unit.
Treat this value as read-only.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#currentUnit
Source: src/renderer/webgl/WebGLPipeline.js#L427
Since: 3.50.0
drawSpriteShader
drawSpriteShader: Phaser.Renderer.WebGL.WebGLShader
Description:
A reference to the Draw Sprite Shader belonging to this Pipeline.
This shader is used when the sprite is drawn to this fbo (or to the game if drawToFrame is false)
This property is set during the boot
method.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L97
Since: 3.60.0
forceZero
forceZero: boolean
Description:
Some pipelines require the forced use of texture zero (like the light pipeline).
This property should be set when that is the case.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#forceZero
Source: src/renderer/webgl/WebGLPipeline.js#L245
Since: 3.50.0
fsTarget
fsTarget: Phaser.Renderer.WebGL.RenderTarget
Description:
The full-screen Render Target that the sprite is first drawn to.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L199
Since: 3.60.0
game
game: Phaser.Game
Description:
The Phaser Game instance to which this pipeline is bound.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#game
Source: src/renderer/webgl/WebGLPipeline.js#L74
Since: 3.0.0
gameShader
gameShader: Phaser.Renderer.WebGL.WebGLShader
Description:
A reference to the Game Draw Shader belonging to this Pipeline.
This shader draws the fbo to the game.
This property is set during the boot
method.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L125
Since: 3.60.0
gl
gl: WebGLRenderingContext
Description:
The WebGL context this WebGL Pipeline uses.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#gl
Source: src/renderer/webgl/WebGLPipeline.js#L104
Since: 3.0.0
glReset
glReset: boolean
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#glReset
Source: src/renderer/webgl/WebGLPipeline.js#L374
Since: 3.53.0
hasBooted
hasBooted: boolean
Description:
Indicates if this pipeline has booted or not.
A pipeline boots only when the Game instance itself, and all associated systems, is fully ready.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#hasBooted
Source: src/renderer/webgl/WebGLPipeline.js#L256
Since: 3.50.0
height
height: number
Description:
Height of the current viewport.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#height
Source: src/renderer/webgl/WebGLPipeline.js#L131
Since: 3.0.0
isPostFX
isPostFX: boolean
Description:
Indicates if this is a Post FX Pipeline, or not.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#isPostFX
Source: src/renderer/webgl/WebGLPipeline.js#L269
Since: 3.50.0
isPreFX
isPreFX: boolean
Description:
Indicates if this is a Pre FX Pipeline, or not.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#isPreFX
Source: src/renderer/webgl/WebGLPipeline.js#L279
Since: 3.60.0
manager
manager: Phaser.Renderer.WebGL.PipelineManager
Description:
A reference to the WebGL Pipeline Manager.
This is initially undefined and only set when this pipeline is added to the manager.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#manager
Source: src/renderer/webgl/WebGLPipeline.js#L92
Since: 3.50.0
name
name: string
Description:
Name of the pipeline. Used for identification and setting from Game Objects.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#name
Source: src/renderer/webgl/WebGLPipeline.js#L65
Since: 3.0.0
projectionHeight
projectionHeight: number
Description:
The cached height of the Projection matrix.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#projectionHeight
Source: src/renderer/webgl/WebGLPipeline.js#L352
Since: 3.50.0
projectionMatrix
projectionMatrix: Phaser.Math.Matrix4
Description:
The Projection matrix, used by shaders as 'uProjectionMatrix' uniform.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#projectionMatrix
Source: src/renderer/webgl/WebGLPipeline.js#L334
Since: 3.50.0
projectionWidth
projectionWidth: number
Description:
The cached width of the Projection matrix.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#projectionWidth
Source: src/renderer/webgl/WebGLPipeline.js#L343
Since: 3.50.0
quadVertexBuffer
quadVertexBuffer: Phaser.Renderer.WebGL.Wrappers.WebGLBufferWrapper
Description:
The WebGLBuffer that holds the quadVertexData.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L160
Since: 3.60.0
quadVertexData
quadVertexData: ArrayBuffer
Description:
Raw byte buffer of vertices used specifically during the copySprite method.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L150
Since: 3.60.0
quadVertexViewF32
quadVertexViewF32: Float32Array
Description:
Float32 view of the quad array buffer.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L170
Since: 3.60.0
renderer
renderer: Phaser.Renderer.WebGL.WebGLRenderer
Description:
The WebGL Renderer instance to which this pipeline is bound.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#renderer
Source: src/renderer/webgl/WebGLPipeline.js#L83
Since: 3.0.0
renderTargets
renderTargets: Array.<Phaser.Renderer.WebGL.RenderTarget>
Description:
An array of RenderTarget instances that belong to this pipeline.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#renderTargets
Source: src/renderer/webgl/WebGLPipeline.js#L289
Since: 3.50.0
resizeUniform
resizeUniform: string
Description:
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
.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#resizeUniform
Source: src/renderer/webgl/WebGLPipeline.js#L451
Since: 3.80.0
shaders
shaders: Array.<Phaser.Renderer.WebGL.WebGLShader>
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#shaders
Source: src/renderer/webgl/WebGLPipeline.js#L307
Since: 3.50.0
topology
topology: GLenum
Description:
The primitive topology which the pipeline will use to submit draw calls.
Defaults to GL_TRIANGLES if not otherwise set in the config.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#topology
Source: src/renderer/webgl/WebGLPipeline.js#L196
Since: 3.0.0
vertexBuffer
vertexBuffer: Phaser.Renderer.WebGL.Wrappers.WebGLBufferWrapper
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexBuffer
Source: src/renderer/webgl/WebGLPipeline.js#L174
Since: 3.0.0
vertexCapacity
vertexCapacity: number
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexCapacity
Source: src/renderer/webgl/WebGLPipeline.js#L150
Since: 3.0.0
vertexCount
vertexCount: number
Description:
The current number of vertices that have been added to the pipeline batch.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexCount
Source: src/renderer/webgl/WebGLPipeline.js#L140
Since: 3.0.0
vertexData
vertexData: ArrayBuffer
Description:
Raw byte buffer of vertices.
Either set via the config object vertices
property, or generates a new Array Buffer of
size vertexCapacity * vertexSize
.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexData
Source: src/renderer/webgl/WebGLPipeline.js#L161
Since: 3.0.0
vertexViewF32
vertexViewF32: Float32Array
Description:
Float32 view of the array buffer containing the pipeline's vertices.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexViewF32
Source: src/renderer/webgl/WebGLPipeline.js#L216
Since: 3.0.0
vertexViewU32
vertexViewU32: Uint32Array
Description:
Uint32 view of the array buffer containing the pipeline's vertices.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexViewU32
Source: src/renderer/webgl/WebGLPipeline.js#L225
Since: 3.0.0
view
view: HTMLCanvasElement
Description:
The canvas which this WebGL Pipeline renders to.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#view
Source: src/renderer/webgl/WebGLPipeline.js#L113
Since: 3.0.0
width
width: number
Description:
Width of the current viewport.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#width
Source: src/renderer/webgl/WebGLPipeline.js#L122
Since: 3.0.0
Private Members
spriteBounds
spriteBounds: Phaser.Geom.Rectangle
Description:
A temporary Rectangle object re-used internally during sprite drawing.
Access: private
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L179
Since: 3.60.0
targetBounds
targetBounds: Phaser.Geom.Rectangle
Description:
A temporary Rectangle object re-used internally during sprite drawing.
Access: private
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L189
Since: 3.60.0
tempSprite
tempSprite: Phaser.GameObjects.Sprite
Description:
The most recent Game Object drawn.
Access: private
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L208
Since: 3.60.0
Public Methods
addListener
<instance> addListener(event, fn, [context])
Description:
Add a listener for a given event.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
event | string | symbol | No | The event name. | |
fn | function | No | The listener function. | |
context | * | Yes | "this" | The context to invoke the listener with. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#addListener
Source: src/events/EventEmitter.js#L111
Since: 3.0.0
addTextureToBatch
<instance> addTextureToBatch(texture)
Description:
Adds the given texture to the current WebGL Pipeline Batch Entry and increases the batch entry unit and maxUnit values by 1.
Parameters:
name | type | optional | description |
---|---|---|---|
texture | No | The texture assigned to this batch entry. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#addTextureToBatch
Source: src/renderer/webgl/WebGLPipeline.js#L818
Since: 3.60.0
batchQuad
<instance> batchQuad(gameObject, x0, y0, x1, y1, x2, y2, x3, y3, u0, v0, u1, v1, tintTL, tintTR, tintBL, tintBR, tintEffect, [texture])
Description:
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 x0 / y0 = 0, x1 / y1 = 1, x2 / y2 = 2 and x3 / y3 = 3
Parameters:
name | type | optional | description |
---|---|---|---|
gameObject | No | The Game Object, if any, drawing this quad. | |
x0 | number | No | The top-left x position. |
y0 | number | No | The top-left y position. |
x1 | number | No | The bottom-left x position. |
y1 | number | No | The bottom-left y position. |
x2 | number | No | The bottom-right x position. |
y2 | number | No | The bottom-right y position. |
x3 | number | No | The top-right x position. |
y3 | number | No | The top-right y position. |
u0 | number | No | UV u0 value. |
v0 | number | No | UV v0 value. |
u1 | number | No | UV u1 value. |
v1 | number | No | UV v1 value. |
tintTL | number | No | The top-left tint color value. |
tintTR | number | No | The top-right tint color value. |
tintBL | number | No | The bottom-left tint color value. |
tintBR | number | No | The bottom-right tint color value. |
tintEffect | number | boolean | No | The tint effect for the shader to use. |
texture | Yes | Texture that will be assigned to the current batch if a flush occurs. |
Overrides: Phaser.Renderer.WebGL.WebGLPipeline#batchQuad
Returns: boolean - true
if this method caused the batch to flush, otherwise false
.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L294
Since: 3.60.0
batchTri
<instance> batchTri(gameObject, x1, y1, x2, y2, x3, y3, u0, v0, u1, v1, tintTL, tintTR, tintBL, tintEffect, [texture], [unit])
Description:
Adds the vertices data into the batch and flushes if full.
Assumes 3 vertices in the following arrangement:
0
|\
| \
| \
| \
| \
1-----2
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
gameObject | No | The Game Object, if any, drawing this quad. | ||
x1 | number | No | The bottom-left x position. | |
y1 | number | No | The bottom-left y position. | |
x2 | number | No | The bottom-right x position. | |
y2 | number | No | The bottom-right y position. | |
x3 | number | No | The top-right x position. | |
y3 | number | No | The top-right y position. | |
u0 | number | No | UV u0 value. | |
v0 | number | No | UV v0 value. | |
u1 | number | No | UV u1 value. | |
v1 | number | No | UV v1 value. | |
tintTL | number | No | The top-left tint color value. | |
tintTR | number | No | The top-right tint color value. | |
tintBL | number | No | The bottom-left tint color value. | |
tintEffect | number | boolean | No | The tint effect for the shader to use. | |
texture | Yes | Texture that will be assigned to the current batch if a flush occurs. | ||
unit | number | Yes | 0 | Texture unit to which the texture needs to be bound. |
Returns: boolean - true
if this method caused the batch to flush, otherwise false
.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#batchTri
Source: src/renderer/webgl/WebGLPipeline.js#L1827
Since: 3.50.0
batchVert
<instance> batchVert(x, y, u, v, unit, tintEffect, tint)
Description:
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:
name | type | optional | description |
---|---|---|---|
x | number | No | The vertex x position. |
y | number | No | The vertex y position. |
u | number | No | UV u value. |
v | number | No | UV v value. |
unit | number | No | Texture unit to which the texture needs to be bound. |
tintEffect | number | boolean | No | The tint effect for the shader to use. |
tint | number | No | The tint color value. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#batchVert
Source: src/renderer/webgl/WebGLPipeline.js#L1664
Since: 3.50.0
bind
<instance> bind([currentShader])
Description:
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:
name | type | optional | description |
---|---|---|---|
currentShader | Yes | The shader to set as being current. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:BIND
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#bind
Source: src/renderer/webgl/WebGLPipeline.js#L1120
Since: 3.0.0
bindAndDraw
<instance> bindAndDraw(source)
Description:
This method is called by drawToGame
and copyToGame
. It takes the source Render Target
and copies it back to the game canvas, or the next frame buffer in the stack, and should
be considered the very last thing this pipeline does.
You don't normally need to call this method, or override it, however it is left public should you wish to do so.
Note that it does not set a shader. You should do this yourself if invoking this.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The Render Target to draw to the game. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L701
Since: 3.60.0
bindRenderTarget
<instance> bindRenderTarget([target], [unit])
Description:
Activates the given Render Target texture and binds it to the requested WebGL texture slot.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
target | Yes | The Render Target to activate and bind. | ||
unit | number | Yes | 0 | The WebGL texture ID to activate. Defaults to |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGL Pipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#bindRenderTarget
Source: src/renderer/webgl/WebGLPipeline.js#L2013
Since: 3.50.0
bindTexture
<instance> bindTexture([target], [unit])
Description:
Activates the given WebGL Texture and binds it to the requested texture slot.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
target | Yes | Texture to activate and bind. | ||
unit | number | Yes | 0 | The WebGL texture ID to activate. Defaults to |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGL Pipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#bindTexture
Source: src/renderer/webgl/WebGLPipeline.js#L1989
Since: 3.50.0
blendFrames
<instance> blendFrames(source1, source2, [target], [strength], [clearAlpha])
Description:
Draws the source1
and source2
Render Targets to the target
Render Target
using a linear blend effect, which is controlled by the strength
parameter.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
source1 | No | The first source Render Target. | ||
source2 | No | The second source Render Target. | ||
target | Yes | The target Render Target. | ||
strength | number | Yes | 1 | The strength of the blend. |
clearAlpha | boolean | Yes | true | Clear the alpha channel when running |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L617
Since: 3.60.0
blendFramesAdditive
<instance> blendFramesAdditive(source1, source2, [target], [strength], [clearAlpha])
Description:
Draws the source1
and source2
Render Targets to the target
Render Target
using an additive blend effect, which is controlled by the strength
parameter.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
source1 | No | The first source Render Target. | ||
source2 | No | The second source Render Target. | ||
target | Yes | The target Render Target. | ||
strength | number | Yes | 1 | The strength of the blend. |
clearAlpha | boolean | Yes | true | Clear the alpha channel when running |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L635
Since: 3.60.0
boot
<instance> boot()
Description:
Called when the Game has fully booted and the Renderer has finished setting up.
By this stage all Game level systems are now in place. You can perform any final tasks that the pipeline may need, that relies on game systems such as the Texture Manager being ready.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:BOOT
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#boot
Source: src/renderer/webgl/WebGLPipeline.js#L463
Since: 3.11.0
copy
<instance> copy(source, target)
Description:
Draws the source
Render Target to the target
Render Target.
This is done using whatever the currently bound shader is. This method does not set a shader. All it does is bind the source texture, set the viewport and UVs then bind the target framebuffer, clears it and draws the source to it.
At the end a null framebuffer is bound. No other clearing-up takes place, so use this method carefully.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The source Render Target. | |
target | No | The target Render Target. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L575
Since: 3.60.0
copySprite
<instance> copySprite(source, target, [clear], [clearAlpha], [eraseMode], [colorMatrix], [shader])
Description:
Copy the source
Render Target to the target
Render Target.
No target resizing takes place. If the source
Render Target is larger than the target
,
then only a portion the same size as the target
dimensions is copied across.
Calling this method will invoke the onCopySprite
handler and will also call
the onFXCopy
callback on the Sprite. Both of these happen prior to the copy, allowing you
to use them to set shader uniforms and other values.
You can optionally pass in a ColorMatrix. If so, it will use the ColorMatrix shader
during the copy, allowing you to manipulate the colors to a fine degree.
See the ColorMatrix
class for more details.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
source | No | The source Render Target being copied from. | ||
target | No | The target Render Target that will be copied to. | ||
clear | boolean | Yes | true | Clear the target before copying? |
clearAlpha | boolean | Yes | true | Clear the alpha channel when running |
eraseMode | boolean | Yes | false | Erase source from target using ERASE Blend Mode? |
colorMatrix | Yes | Optional ColorMatrix to use when copying the Sprite. | ||
shader | Yes | The shader to use to copy the target. Defaults to the |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L468
Since: 3.60.0
copyToGame
<instance> copyToGame(source)
Description:
This method will copy the given Render Target to the game canvas using the gameShader
.
Unless you've changed it, the gameShader
copies the target without modifying it, just
ensuring it is placed in the correct location on the canvas.
If you wish to draw the target with and apply the fragment shader at the same time,
see the drawToGame
method instead.
This method should be the final thing called in your pipeline.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The Render Target to copy to the game. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L676
Since: 3.60.0
createBatch
<instance> createBatch(texture)
Description:
Creates a new WebGL Pipeline Batch Entry, sets the texture unit as zero and pushes the entry into the batch.
Parameters:
name | type | optional | description |
---|---|---|---|
texture | No | The texture assigned to this batch entry. |
Returns: number - The texture unit that was bound.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#createBatch
Source: src/renderer/webgl/WebGLPipeline.js#L789
Since: 3.60.0
destroy
<instance> destroy()
Description:
Destroys all shader instances, removes all object references and nulls all external references.
Overrides: Phaser.Renderer.WebGL.WebGLPipeline#destroy
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:DESTROY
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L888
Since: 3.60.0
drawFillRect
<instance> drawFillRect(x, y, width, height, color, alpha, [texture], [flipUV])
Description:
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:
name | type | optional | default | description |
---|---|---|---|---|
x | number | No | Horizontal top left coordinate of the rectangle. | |
y | number | No | Vertical top left coordinate of the rectangle. | |
width | number | No | Width of the rectangle. | |
height | number | No | Height of the rectangle. | |
color | number | No | Color of the rectangle to draw. | |
alpha | number | No | Alpha value of the rectangle to draw. | |
texture | Yes | texture that will be assigned to the current batch if a flush occurs. | ||
flipUV | boolean | Yes | true | Flip the vertical UV coordinates of the texture before rendering? |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#drawFillRect
Source: src/renderer/webgl/WebGLPipeline.js#L1921
Since: 3.50.0
drawToGame
<instance> drawToGame(source)
Description:
This method will copy the given Render Target to the game canvas using the copyShader
.
This applies the results of the copy shader during the draw.
If you wish to copy the target without any effects see the copyToGame
method instead.
This method should be the final thing called in your pipeline.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The Render Target to draw to the game. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L653
Since: 3.60.0
emit
<instance> emit(event, [args])
Description:
Calls each of the listeners registered for a given event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | No | The event name. |
args | * | Yes | Additional arguments that will be passed to the event handler. |
Returns: boolean - true
if the event had listeners, else false
.
Inherits: Phaser.Events.EventEmitter#emit
Source: src/events/EventEmitter.js#L86
Since: 3.0.0
eventNames
<instance> eventNames()
Description:
Return an array listing the events for which the emitter has registered listeners.
Returns: Array.<(string | symbol)> - undefined
Inherits: Phaser.Events.EventEmitter#eventNames
Source: src/events/EventEmitter.js#L55
Since: 3.0.0
flipProjectionMatrix
<instance> flipProjectionMatrix([flipY])
Description:
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:
name | type | optional | default | description |
---|---|---|---|---|
flipY | boolean | Yes | true | Flip the y and bottom values? |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#flipProjectionMatrix
Source: src/renderer/webgl/WebGLPipeline.js#L1059
Since: 3.60.0
flush
<instance> flush([isPostFlush])
Description:
Uploads the vertex data and emits a draw call for the current batch of vertices.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
isPostFlush | boolean | Yes | false | Was this flush invoked as part of a post-process, or not? |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:BEFORE_FLUSH, Phaser.Renderer.WebGL.Pipelines.Events#event:AFTER_FLUSH
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#flush
Source: src/renderer/webgl/WebGLPipeline.js#L1370
Since: 3.0.0
getShaderByName
<instance> getShaderByName(name)
Description:
Searches all shaders in this pipeline for one matching the given name, then returns it.
Parameters:
name | type | optional | description |
---|---|---|---|
name | string | No | The index of the shader to set. |
Returns: Phaser.Renderer.WebGL.WebGLShader - The WebGLShader instance, if found.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#getShaderByName
Source: src/renderer/webgl/WebGLPipeline.js#L662
Since: 3.50.0
listenerCount
<instance> listenerCount(event)
Description:
Return the number of listeners listening to a given event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | No | The event name. |
Returns: number - The number of listeners.
Inherits: Phaser.Events.EventEmitter#listenerCount
Source: src/events/EventEmitter.js#L75
Since: 3.0.0
listeners
<instance> listeners(event)
Description:
Return the listeners registered for a given event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | No | The event name. |
Returns: Array.<function()> - The registered listeners.
Inherits: Phaser.Events.EventEmitter#listeners
Source: src/events/EventEmitter.js#L64
Since: 3.0.0
off
<instance> off(event, [fn], [context], [once])
Description:
Remove the listeners of a given event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | No | The event name. |
fn | function | Yes | Only remove the listeners that match this function. |
context | * | Yes | Only remove the listeners that have this context. |
once | boolean | Yes | Only remove one-time listeners. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#off
Source: src/events/EventEmitter.js#L151
Since: 3.0.0
on
<instance> on(event, fn, [context])
Description:
Add a listener for a given event.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
event | string | symbol | No | The event name. | |
fn | function | No | The listener function. | |
context | * | Yes | "this" | The context to invoke the listener with. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#on
Source: src/events/EventEmitter.js#L98
Since: 3.0.0
onActive
<instance> onActive(currentShader)
Description:
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:
name | type | optional | description |
---|---|---|---|
currentShader | No | The shader that was set as current. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onActive
Source: src/renderer/webgl/WebGLPipeline.js#L1478
Since: 3.50.0
onAfterFlush
<instance> onAfterFlush([isPostFlush])
Description:
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:
name | type | optional | default | description |
---|---|---|---|---|
isPostFlush | boolean | Yes | false | Was this flush invoked as part of a post-process, or not? |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onAfterFlush
Source: src/renderer/webgl/WebGLPipeline.js#L1643
Since: 3.50.0
onBatch
<instance> onBatch([gameObject])
Description:
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 batchQuad
or batchTri
methods are called. If this was
as a result of a Game Object, then the Game Object reference is passed to this hook too.
This hook is called after the quad (or tri) has been added to the batch, so you can safely call 'flush' from within this.
Note that Game Objects may call batchQuad
or batchTri
multiple times for a single draw,
for example the Graphics Game Object.
Parameters:
name | type | optional | description |
---|---|---|---|
gameObject | Yes | The Game Object that invoked this pipeline, if any. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onBatch
Source: src/renderer/webgl/WebGLPipeline.js#L1532
Since: 3.50.0
onBeforeFlush
<instance> onBeforeFlush([isPostFlush])
Description:
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:
name | type | optional | default | description |
---|---|---|---|---|
isPostFlush | boolean | Yes | false | Was this flush invoked as part of a post-process, or not? |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onBeforeFlush
Source: src/renderer/webgl/WebGLPipeline.js#L1626
Since: 3.50.0
onBind
<instance> onBind([gameObject])
Description:
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 a Game Object asks the Pipeline Manager to use this pipeline, even if the pipeline is already active.
Unlike the onActive
method, which is only called when the Pipeline Manager makes this pipeline
active, this hook is called for every Game Object that requests use of this pipeline, allowing you to
perform per-object set-up, such as loading shader uniform data.
Parameters:
name | type | optional | description |
---|---|---|---|
gameObject | Yes | The Game Object that invoked this pipeline, if any. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onBind
Source: src/renderer/webgl/WebGLPipeline.js#L1499
Since: 3.50.0
onBoot
<instance> onBoot()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onBoot
Source: src/renderer/webgl/WebGLPipeline.js#L599
Since: 3.50.0
once
<instance> once(event, fn, [context])
Description:
Add a one-time listener for a given event.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
event | string | symbol | No | The event name. | |
fn | function | No | The listener function. | |
context | * | Yes | "this" | The context to invoke the listener with. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#once
Source: src/events/EventEmitter.js#L124
Since: 3.0.0
onCopySprite
<instance> onCopySprite(source, target, gameObject)
Description:
This callback is invoked when you call the copySprite
method.
It will fire after the shader has been set, but before the source target has been copied, so use it to set any additional uniforms you may need.
Note: Manipulating the Sprite during this callback will not change the Render Targets.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The source Render Target being copied from. | |
target | No | The target Render Target that will be copied to. | |
gameObject | No | The Sprite being copied. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L449
Since: 3.60.0
onDraw
<instance> onDraw(target, [swapTarget], [altSwapTarget])
Description:
This method is called every time the batchSprite
method is called and is passed a
reference to the current render target.
If you override this method, then it should make sure it calls either the
drawToGame
or copyToGame
methods as the final thing it does. However, you can do as
much additional processing as you like prior to this.
Parameters:
name | type | optional | description |
---|---|---|---|
target | No | The Render Target to draw to the game. | |
swapTarget | Yes | The Swap Render Target, useful for double-buffer effects. | |
altSwapTarget | Yes | The Swap Render Target, useful for double-buffer effects. |
Overrides: Phaser.Renderer.WebGL.WebGLPipeline#onDraw
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L787
Since: 3.60.0
onDrawSprite
<instance> onDrawSprite(gameObject, target)
Description:
This callback is invoked when a sprite is drawn by this pipeline.
It will fire after the shader has been set, but before the sprite has been drawn, so use it to set any additional uniforms you may need.
Note: Manipulating the Sprite during this callback will not change how it is drawn to the Render Target.
Parameters:
name | type | optional | description |
---|---|---|---|
gameObject | No | The Sprite being drawn. | |
target | No | The Render Target the Sprite will be drawn to. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L431
Since: 3.60.0
onPostBatch
<instance> onPostBatch([gameObject])
Description:
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:
name | type | optional | description |
---|---|---|---|
gameObject | Yes | The Game Object that invoked this pipeline, if any. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onPostBatch
Source: src/renderer/webgl/WebGLPipeline.js#L1567
Since: 3.50.0
onPostRender
<instance> onPostRender()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onPostRender
Source: src/renderer/webgl/WebGLPipeline.js#L1611
Since: 3.50.0
onPreBatch
<instance> onPreBatch([gameObject])
Description:
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:
name | type | optional | description |
---|---|---|---|
gameObject | Yes | The Game Object that invoked this pipeline, if any. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onPreBatch
Source: src/renderer/webgl/WebGLPipeline.js#L1553
Since: 3.50.0
onPreRender
<instance> onPreRender()
Description:
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, right before anything has been rendered, but after the canvas has been cleared. If this pipeline has a render target, it will also have been cleared by this point.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onPreRender
Source: src/renderer/webgl/WebGLPipeline.js#L1581
Since: 3.50.0
onRebind
<instance> onRebind()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onRebind
Source: src/renderer/webgl/WebGLPipeline.js#L1518
Since: 3.50.0
onRender
<instance> onRender(scene, camera)
Description:
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:
name | type | optional | description |
---|---|---|---|
scene | No | The Scene being rendered. | |
camera | No | The Scene Camera being rendered with. |
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#onRender
Source: src/renderer/webgl/WebGLPipeline.js#L1594
Since: 3.50.0
onResize
<instance> onResize(width, height)
Description:
Handles the resizing of the quad vertex data.
Parameters:
name | type | optional | description |
---|---|---|---|
width | number | No | The new width of the quad. |
height | number | No | The new height of the quad. |
Overrides: Phaser.Renderer.WebGL.WebGLPipeline#onResize
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L261
Since: 3.60.0
postBatch
<instance> postBatch([gameObject])
Description:
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:
name | type | optional | description |
---|---|---|---|
gameObject | Phaser.GameObjects.GameObject | Phaser.Cameras.Scene2D.Camera | Yes | The Game Object or Camera that invoked this pipeline, if any. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#postBatch
Source: src/renderer/webgl/WebGLPipeline.js#L1309
Since: 3.50.0
preBatch
<instance> preBatch([gameObject])
Description:
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:
name | type | optional | description |
---|---|---|---|
gameObject | Phaser.GameObjects.GameObject | Phaser.Cameras.Scene2D.Camera | Yes | The Game Object or Camera that invoked this pipeline, if any. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#preBatch
Source: src/renderer/webgl/WebGLPipeline.js#L1282
Since: 3.50.0
pushBatch
<instance> pushBatch(texture)
Description:
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:
name | type | optional | description |
---|---|---|---|
texture | No | The texture assigned to this batch entry. |
Returns: number - The texture unit that was bound.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#pushBatch
Source: src/renderer/webgl/WebGLPipeline.js#L839
Since: 3.60.0
rebind
<instance> rebind([currentShader])
Description:
This method is called every time the Pipeline Manager rebinds this pipeline.
It resets all shaders this pipeline uses, setting their attributes again.
Parameters:
name | type | optional | description |
---|---|---|---|
currentShader | Yes | The shader to set as being current. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:REBIND
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#rebind
Source: src/renderer/webgl/WebGLPipeline.js#L1169
Since: 3.0.0
removeAllListeners
<instance> removeAllListeners([event])
Description:
Remove all listeners, or those of the specified event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | Yes | The event name. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#removeAllListeners
Source: src/events/EventEmitter.js#L165
Since: 3.0.0
removeListener
<instance> removeListener(event, [fn], [context], [once])
Description:
Remove the listeners of a given event.
Parameters:
name | type | optional | description |
---|---|---|---|
event | string | symbol | No | The event name. |
fn | function | Yes | Only remove the listeners that match this function. |
context | * | Yes | Only remove the listeners that have this context. |
once | boolean | Yes | Only remove one-time listeners. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - this
.
Inherits: Phaser.Events.EventEmitter#removeListener
Source: src/events/EventEmitter.js#L137
Since: 3.0.0
resetUVs
<instance> resetUVs()
Description:
Resets the quad vertice UV values to their default settings.
The quad is used by the copy shader in this pipeline.
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L875
Since: 3.60.0
resize
<instance> resize(width, height)
Description:
Resizes the properties used to describe the viewport.
This method is called automatically by the renderer during its resize handler.
Parameters:
name | type | optional | description |
---|---|---|---|
width | number | No | The new width of this WebGL Pipeline. |
height | number | No | The new height of this WebGL Pipeline. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Fires: Phaser.Renderer.WebGL.Pipelines.Events#event:RESIZE
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#resize
Source: src/renderer/webgl/WebGLPipeline.js#L966
Since: 3.0.0
restoreContext
<instance> restoreContext()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#restoreContext
Source: src/renderer/webgl/WebGLPipeline.js#L1214
Since: 3.80.0
set1f
<instance> set1f(name, x, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new value of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set1f
Source: src/renderer/webgl/WebGLPipeline.js#L2077
Since: 3.50.0
set1fv
<instance> set1fv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set1fv
Source: src/renderer/webgl/WebGLPipeline.js#L2191
Since: 3.50.0
set1i
<instance> set1i(name, x, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new value of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set1i
Source: src/renderer/webgl/WebGLPipeline.js#L2407
Since: 3.50.0
set1iv
<instance> set1iv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set1iv
Source: src/renderer/webgl/WebGLPipeline.js#L2299
Since: 3.50.0
set2f
<instance> set2f(name, x, y, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new X component of the |
y | number | No | The new Y component of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set2f
Source: src/renderer/webgl/WebGLPipeline.js#L2104
Since: 3.50.0
set2fv
<instance> set2fv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set2fv
Source: src/renderer/webgl/WebGLPipeline.js#L2218
Since: 3.50.0
set2i
<instance> set2i(name, x, y, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new X component of the |
y | number | No | The new Y component of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set2i
Source: src/renderer/webgl/WebGLPipeline.js#L2434
Since: 3.50.0
set2iv
<instance> set2iv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set2iv
Source: src/renderer/webgl/WebGLPipeline.js#L2326
Since: 3.50.0
set3f
<instance> set3f(name, x, y, z, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new X component of the |
y | number | No | The new Y component of the |
z | number | No | The new Z component of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set3f
Source: src/renderer/webgl/WebGLPipeline.js#L2132
Since: 3.50.0
set3fv
<instance> set3fv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set3fv
Source: src/renderer/webgl/WebGLPipeline.js#L2245
Since: 3.50.0
set3i
<instance> set3i(name, x, y, z, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | The new X component of the |
y | number | No | The new Y component of the |
z | number | No | The new Z component of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set3i
Source: src/renderer/webgl/WebGLPipeline.js#L2462
Since: 3.50.0
set3iv
<instance> set3iv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set3iv
Source: src/renderer/webgl/WebGLPipeline.js#L2353
Since: 3.50.0
set4f
<instance> set4f(name, x, y, z, w, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | X component of the uniform |
y | number | No | Y component of the uniform |
z | number | No | Z component of the uniform |
w | number | No | W component of the uniform |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set4f
Source: src/renderer/webgl/WebGLPipeline.js#L2161
Since: 3.50.0
set4fv
<instance> set4fv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set4fv
Source: src/renderer/webgl/WebGLPipeline.js#L2272
Since: 3.50.0
set4i
<instance> set4i(name, x, y, z, w, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
x | number | No | X component of the uniform. |
y | number | No | Y component of the uniform. |
z | number | No | Z component of the uniform. |
w | number | No | W component of the uniform. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set4i
Source: src/renderer/webgl/WebGLPipeline.js#L2491
Since: 3.50.0
set4iv
<instance> set4iv(name, arr, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
arr | Array.<number> | Float32Array | No | The new value to be used for the uniform variable. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#set4iv
Source: src/renderer/webgl/WebGLPipeline.js#L2380
Since: 3.50.0
setBoolean
<instance> setBoolean(name, value, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
value | boolean | No | The new value of the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setBoolean
Source: src/renderer/webgl/WebGLPipeline.js#L2050
Since: 3.60.0
setGameObject
<instance> setGameObject(gameObject, [frame])
Description:
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:
name | type | optional | description |
---|---|---|---|
gameObject | No | The Game Object being rendered or added to the batch. | |
frame | Yes | Optional frame to use. Can override that of the Game Object. |
Returns: number - The texture unit the Game Object has been assigned.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setGameObject
Source: src/renderer/webgl/WebGLPipeline.js#L912
Since: 3.50.0
setMatrix2fv
<instance> setMatrix2fv(name, transpose, matrix, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
transpose | boolean | No | Whether to transpose the matrix. Should be |
matrix | Array.<number> | Float32Array | No | The new values for the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setMatrix2fv
Source: src/renderer/webgl/WebGLPipeline.js#L2521
Since: 3.50.0
setMatrix3fv
<instance> setMatrix3fv(name, transpose, matrix, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
transpose | boolean | No | Whether to transpose the matrix. Should be |
matrix | Float32Array | No | The new values for the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setMatrix3fv
Source: src/renderer/webgl/WebGLPipeline.js#L2549
Since: 3.50.0
setMatrix4fv
<instance> setMatrix4fv(name, transpose, matrix, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
transpose | boolean | No | Whether to transpose the matrix. Should be |
matrix | Float32Array | No | The matrix data. If using a Matrix4 this should be the |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setMatrix4fv
Source: src/renderer/webgl/WebGLPipeline.js#L2577
Since: 3.50.0
setProjectionMatrix
<instance> setProjectionMatrix(width, height)
Description:
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:
name | type | optional | description |
---|---|---|---|
width | number | No | The new width of this WebGL Pipeline. |
height | number | No | The new height of this WebGL Pipeline. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setProjectionMatrix
Source: src/renderer/webgl/WebGLPipeline.js#L1011
Since: 3.50.0
setShader
<instance> setShader(shader, [setAttributes], [vertexBuffer])
Description:
Sets the currently active shader within this pipeline.
Parameters:
name | type | optional | default | description |
---|---|---|---|---|
shader | No | The shader to set as being current. | ||
setAttributes | boolean | Yes | false | Should the vertex attribute pointers be set? |
vertexBuffer | Yes | The vertex buffer to be set before the shader is bound. Defaults to the one owned by this pipeline. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setShader
Source: src/renderer/webgl/WebGLPipeline.js#L627
Since: 3.50.0
setShadersFromConfig
<instance> setShadersFromConfig(config)
Description:
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:
name | type | optional | description |
---|---|---|---|
config | No | The configuration object for this WebGL Pipeline. |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setShadersFromConfig
Source: src/renderer/webgl/WebGLPipeline.js#L685
Since: 3.50.0
setTargetUVs
<instance> setTargetUVs(source, target)
Description:
Sets the vertex UV coordinates of the quad used by the copy shaders so that they correctly adjust the texture coordinates for a blit frame effect.
Be sure to call resetUVs
once you have finished manipulating the UV coordinates.
Parameters:
name | type | optional | description |
---|---|---|---|
source | No | The source Render Target. | |
target | No | The target Render Target. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L847
Since: 3.60.0
setTexture2D
<instance> setTexture2D([texture])
Description:
Sets the texture to be bound to the next available texture unit and returns the unit id.
Parameters:
name | type | optional | description |
---|---|---|---|
texture | Yes | Texture that will be assigned to the current batch. If not given uses |
Returns: number - The assigned texture unit.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setTexture2D
Source: src/renderer/webgl/WebGLPipeline.js#L1971
Since: 3.50.0
setTime
<instance> setTime(name, [shader])
Description:
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 | type | optional | description |
---|---|---|---|
name | string | No | The name of the uniform to set. |
shader | Yes | The shader to set the value on. If not given, the |
Returns: Phaser.Renderer.WebGL.Pipelines.PreFXPipeline - This WebGLPipeline instance.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setTime
Source: src/renderer/webgl/WebGLPipeline.js#L2030
Since: 3.50.0
setUVs
<instance> setUVs(uA, vA, uB, vB, uC, vC, uD, vD)
Description:
Set the UV values for the 6 vertices that make up the quad used by the copy shader.
Be sure to call resetUVs
once you have finished manipulating the UV coordinates.
Parameters:
name | type | optional | description |
---|---|---|---|
uA | number | No | The u value of vertex A. |
vA | number | No | The v value of vertex A. |
uB | number | No | The u value of vertex B. |
vB | number | No | The v value of vertex B. |
uC | number | No | The u value of vertex C. |
vC | number | No | The v value of vertex C. |
uD | number | No | The u value of vertex D. |
vD | number | No | The v value of vertex D. |
Source: src/renderer/webgl/pipelines/PreFXPipeline.js#L807
Since: 3.60.0
setVertexBuffer
<instance> setVertexBuffer([buffer])
Description:
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:
name | type | optional | description |
---|---|---|---|
buffer | Yes | The Vertex Buffer to be bound. Defaults to the one owned by this pipeline. |
Returns: boolean - true
if the vertex buffer was bound, or false
if it was already bound.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#setVertexBuffer
Source: src/renderer/webgl/WebGLPipeline.js#L1251
Since: 3.50.0
shouldFlush
<instance> shouldFlush([amount])
Description:
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:
name | type | optional | default | description |
---|---|---|---|---|
amount | number | Yes | 0 | Will the batch need to flush if this many vertices are added to it? |
Returns: boolean - true
if the current batch should be flushed, otherwise false
.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#shouldFlush
Source: src/renderer/webgl/WebGLPipeline.js#L931
Since: 3.0.0
shutdown
<instance> shutdown()
Description:
Removes all listeners.
Inherits: Phaser.Events.EventEmitter#shutdown
Source: src/events/EventEmitter.js#L31
Since: 3.0.0
unbind
<instance> unbind()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#unbind
Source: src/renderer/webgl/WebGLPipeline.js#L1355
Since: 3.50.0
updateProjectionMatrix
<instance> updateProjectionMatrix()
Description:
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.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#updateProjectionMatrix
Source: src/renderer/webgl/WebGLPipeline.js#L1096
Since: 3.50.0
vertexAvailable
<instance> vertexAvailable()
Description:
Returns the number of vertices that can be added to the current batch before it will trigger a flush to happen.
Returns: number - The number of vertices that can still be added to the current batch before it will flush.
Inherits: Phaser.Renderer.WebGL.WebGLPipeline#vertexAvailable
Source: src/renderer/webgl/WebGLPipeline.js#L952
Since: 3.60.0