Provides methods used for setting the WebGL rendering pipeline of a Game Object.
- Since: 3.0.0
- Source: src/gameobjects/components/Pipeline.js (Line 11)
Members
-
defaultPipeline :Phaser.Renderer.WebGL.WebGLPipeline
-
The initial WebGL pipeline of this Game Object.
If you call
resetPipelineon this Game Object, the pipeline is reset to this default.Type:
- Since: 3.0.0
- Default Value:
-
- null
- Source: src/gameobjects/components/Pipeline.js (Line 21)
-
hasPostPipeline :boolean
-
Does this Game Object have any Post Pipelines set?
Type:
- boolean
- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 45)
-
pipeline :Phaser.Renderer.WebGL.WebGLPipeline
-
The current WebGL pipeline of this Game Object.
Type:
- Since: 3.0.0
- Default Value:
-
- null
- Source: src/gameobjects/components/Pipeline.js (Line 34)
-
pipelineData :object
-
An object to store pipeline specific data in, to be read by the pipelines this Game Object uses.
Type:
- object
- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 70)
-
postPipeline :Array.<Phaser.Renderer.WebGL.Pipelines.PostFXPipeline>
-
The WebGL Post FX Pipelines this Game Object uses for post-render effects.
The pipelines are processed in the order in which they appear in this array.
If you modify this array directly, be sure to set the
hasPostPipelineproperty accordingly.Type:
- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 55)
Methods
-
getPipelineName()
-
Gets the name of the WebGL Pipeline this Game Object is currently using.
- Since: 3.0.0
- Source: src/gameobjects/components/Pipeline.js (Line 397)
Returns:
The string-based name of the pipeline being used by this Game Object.
- Type
- string
-
getPostPipeline(pipeline)
-
Gets a Post Pipeline instance from this Game Object, based on the given name, and returns it.
Parameters:
Name Type Description pipelinestring | function | Phaser.Renderer.WebGL.Pipelines.PostFXPipeline The string-based name of the pipeline, or a pipeline class.
- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 272)
Returns:
The first Post Pipeline matching the name, or undefined if no match.
-
initPipeline(pipeline)
-
Sets the initial WebGL Pipeline of this Game Object.
This should only be called during the instantiation of the Game Object. After that, use
setPipeline.Parameters:
Name Type Description pipelinestring | Phaser.Renderer.WebGL.WebGLPipeline Either the string-based name of the pipeline, or a pipeline instance to set.
- Since: 3.0.0
- Source: src/gameobjects/components/Pipeline.js (Line 80)
Returns:
trueif the pipeline was set successfully, otherwisefalse.- Type
- boolean
-
removePostPipeline(pipeline)
-
Removes a type of Post Pipeline instances from this Game Object, based on the given name, and destroys them.
If you wish to remove all Post Pipelines use the
resetPostPipelinemethod instead.Parameters:
Name Type Description pipelinestring | Phaser.Renderer.WebGL.Pipelines.PostFXPipeline The string-based name of the pipeline, or a pipeline class.
- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 361)
Returns:
This Game Object.
-
resetPipeline( [resetPostPipelines] [, resetData])
-
Resets the WebGL Pipeline of this Game Object back to the default it was created with.
Parameters:
Name Type Argument Default Description resetPostPipelinesboolean <optional>
false Reset all of the post pipelines?
resetDataboolean <optional>
false Reset the
pipelineDataobject to being an empty object?- Since: 3.0.0
- Source: src/gameobjects/components/Pipeline.js (Line 298)
Returns:
trueif the pipeline was reset successfully, otherwisefalse.- Type
- boolean
-
resetPostPipeline( [resetData])
-
Resets the WebGL Post Pipelines of this Game Object. It does this by calling the
destroymethod on each post pipeline and then clearing the local array.Parameters:
Name Type Argument Default Description resetDataboolean <optional>
false Reset the
pipelineDataobject to being an empty object?- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 331)
-
setPipeline(pipeline [, pipelineData] [, copyData])
-
Sets the main WebGL Pipeline of this Game Object.
Also sets the
pipelineDataproperty, if the parameter is given.Both the pipeline and post pipelines share the same pipeline data object.
Parameters:
Name Type Argument Default Description pipelinestring | Phaser.Renderer.WebGL.WebGLPipeline Either the string-based name of the pipeline, or a pipeline instance to set.
pipelineDataobject <optional>
Optional pipeline data object that is deep copied into the
pipelineDataproperty of this Game Object.copyDataboolean <optional>
true Should the pipeline data object be deep copied into the
pipelineDataproperty of this Game Object? Iffalseit will be set by reference instead.- Since: 3.0.0
- Source: src/gameobjects/components/Pipeline.js (Line 125)
Returns:
This Game Object instance.
-
setPipelineData(key [, value])
-
Adds an entry to the
pipelineDataobject belonging to this Game Object.If the 'key' already exists, its value is updated. If it doesn't exist, it is created.
If
valueis undefined, andkeyexists,keyis removed from the data object.Both the pipeline and post pipelines share the pipeline data object together.
Parameters:
Name Type Argument Description keystring The key of the pipeline data to set, update, or delete.
valueany <optional>
The value to be set with the key. If
undefinedthenkeywill be deleted from the object.- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 238)
Returns:
This Game Object instance.
-
setPostPipeline(pipelines [, pipelineData] [, copyData])
-
Sets one, or more, Post Pipelines on this Game Object.
Post Pipelines are invoked after this Game Object has rendered to its target and are commonly used for post-fx.
The post pipelines are appended to the
postPipelinesarray belonging to this Game Object. When the renderer processes this Game Object, it iterates through the post pipelines in the order in which they appear in the array. If you are stacking together multiple effects, be aware that the order is important.If you call this method multiple times, the new pipelines will be appended to any existing post pipelines already set. Use the
resetPostPipelinemethod to clear them first, if required.You can optionally also sets the
pipelineDataproperty, if the parameter is given.Both the pipeline and post pipelines share the pipeline data object together.
Parameters:
Name Type Argument Default Description pipelinesstring | Array.<string> | function | Array.<function()> | Phaser.Renderer.WebGL.Pipelines.PostFXPipeline | Array.<Phaser.Renderer.WebGL.Pipelines.PostFXPipeline> Either the string-based name of the pipeline, or a pipeline instance, or class, or an array of them.
pipelineDataobject <optional>
Optional pipeline data object that is deep copied into the
pipelineDataproperty of this Game Object.copyDataboolean <optional>
true Should the pipeline data object be deep copied into the
pipelineDataproperty of this Game Object? Iffalseit will be set by reference instead.- Since: 3.50.0
- Source: src/gameobjects/components/Pipeline.js (Line 171)
Returns:
This Game Object instance.
