Skip to main content
Version: Phaser v4.0.0-rc.6

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

nametypeoptionaldescription
rendererPhaser.Renderer.WebGL.WebGLRendererNoThe 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:

nametypeoptionaldescription
namestringNoThe unique key of the shader program.
baseBaseShaderConfigNoThe base shader configuration.
additionsArray.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig>YesAn array of shader addition configurations.
featuresArray.<string>YesAn 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:

nametypeoptionaldescription
baseBaseShaderConfigNoThe base shader configuration.
additionsArray.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig>YesAn array of shader addition configurations.
featuresArray.<string>YesAn 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:

nametypeoptionaldescription
baseBaseShaderConfigNoThe base shader configuration.
additionsArray.<Phaser.Types.Renderer.WebGL.ShaderAdditionConfig>YesAn array of shader addition configurations.
featuresArray.<string>YesAn 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:

nametypeoptionaldescription
keystringNoThe unique key of the shader program.

Source: src/renderer/webgl/ShaderProgramFactory.js#L57
Since: 4.0.0