ShaderProgramFactory
The ShaderProgramFactory is a utility class used to generate
Phaser.Renderer.WebGL.Wrappers.WebGLProgramWrapper objects.
It facilitates generating variants of a shader program based on
configuration settings.
Constructor
new ShaderProgramFactory(renderer)
Parameters
| name | type | optional | description |
|---|---|---|---|
| renderer | Phaser.Renderer.WebGL.WebGLRenderer | No | The WebGLRenderer that owns this ShaderProgramFactory. |
Scope: static
Source: src/renderer/webgl/ShaderProgramFactory.js#L16
Since: 4.0.0
Public Members
programs
programs: object
Description:
A map of shader programs, identified by a unique key.
The key of each shader program is made up of the following components:
-
The key of the base shader program.
-
The key of each shader addition, in addition order.
-
The key of each enabled shader feature, sorted alphabetically.
Source: src/renderer/webgl/ShaderProgramFactory.js#L41
Since: 4.0.0
renderer
renderer: Phaser.Renderer.WebGL.WebGLRenderer
Description:
The WebGLRenderer that owns this ShaderProgramFactory.
Source: src/renderer/webgl/ShaderProgramFactory.js#L32
Since: 4.0.0
Public Methods
createShaderProgram
<instance> createShaderProgram(name, base, [additions], [features])
Description:
Creates a shader program based on the given configuration settings.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| name | string | No | The unique key of the shader program. |
| base | BaseShaderConfig | No | The base shader configuration. |
| additions | Array.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig> | Yes | An array of shader addition configurations. |
| features | Array.<string> | Yes | An array of enabled shader feature keys. |
Source: src/renderer/webgl/ShaderProgramFactory.js#L133
Since: 4.0.0
getKey
<instance> getKey(base, [additions], [features])
Description:
Returns a unique key for a shader program based on the given configuration settings.
The key is made up of the following components:
-
The key of the base shader program.
-
The key of each shader addition, in addition order.
-
The key of each enabled shader feature, sorted alphabetically.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| base | BaseShaderConfig | No | The base shader configuration. |
| additions | Array.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig> | Yes | An array of shader addition configurations. |
| features | Array.<string> | Yes | An array of enabled shader feature keys. |
Source: src/renderer/webgl/ShaderProgramFactory.js#L92
Since: 4.0.0
getShaderProgram
<instance> getShaderProgram(base, [additions], [features])
Description:
Returns a shader program based on the given configuration settings.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| base | BaseShaderConfig | No | The base shader configuration. |
| additions | Array.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig> | Yes | An array of shader addition configurations. |
| features | Array.<string> | Yes | An array of enabled shader feature keys. |
Source: src/renderer/webgl/ShaderProgramFactory.js#L69
Since: 4.0.0
has
<instance> has(key)
Description:
Checks if a shader program exists based on the given configuration settings.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| key | string | No | The unique key of the shader program. |
Source: src/renderer/webgl/ShaderProgramFactory.js#L57
Since: 4.0.0