Phaser.Renderer.WebGL.ShaderAdditionMakers
Scope: static
Source: src/renderer/webgl/shaders/additionMakers/index.js#L7
Static functions
MakeAnimLength
<static> MakeAnimLength(maxAnims, [disable])
Description:
Returns a ShaderAdditionConfig for defining the maximum number of animation frames. This is used by TilemapGPULayer.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| maxAnims | number | No | The maximum number of animation frames to support. This value is injected into the shader as the MAX_ANIM_FRAMES preprocessor constant. | |
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeAnimLength.js#L7
Since: 4.0.0
MakeApplyLighting
<static> MakeApplyLighting([disable])
Description:
Creates and returns a ShaderAdditionConfig that injects normal-map lighting into a WebGL shader pipeline. When added to a renderer, it includes the ApplyLighting GLSL header in the fragment shader and runs applyLighting(fragColor, normal) during the fragment process stage, blending the lighting result into the output color.
The normal variable must be available in the fragment shader.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeApplyLighting.js#L9
Since: 4.0.0
MakeApplyTint
<static> MakeApplyTint([disable])
Description:
Return a ShaderAdditionConfig for applying a tint to a texture.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeApplyTint.js#L9
Since: 4.0.0
MakeBoundedSampler
<static> MakeBoundedSampler([disable])
Description:
Return a ShaderAdditionConfig for bounded texture sampling. A bounded sampler will return a transparent pixel if the texture coordinates are outside the texture bounds.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeBoundedSampler.js#L9
Since: 4.0.0
MakeDefineLights
<static> MakeDefineLights([disable])
Description:
Return a ShaderAdditionConfig for defining the lights and core lighting algorithm in the fragment shader.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeDefineLights.js#L9
Since: 4.0.0
MakeDefineTexCount
<static> MakeDefineTexCount(maxTextures, [disable])
Description:
Returns a ShaderAdditionConfig for defining the texture count in a multi-texture shader. This is used by other additions to process the correct number of textures.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| maxTextures | number | No | The maximum number of textures the shader supports. This value is used to set the TEXTURE_COUNT preprocessor define in the fragment shader. | |
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeDefineTexCount.js#L7
Since: 4.0.0
MakeFlatNormal
<static> MakeFlatNormal([disable])
Description:
Return a ShaderAdditionConfig for defining a flat normal. This is used to light objects without a normal map.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeFlatNormal.js#L7
Since: 4.0.0
MakeGetNormalFromMap
<static> MakeGetNormalFromMap([disable])
Description:
Return a ShaderAdditionConfig that injects the getNormalFromMap function into the fragment shader header and samples the normal map at the current texture coordinate during fragment processing. The resulting normal vector is used by the lighting pipeline to apply per-pixel lighting to a texture.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeGetNormalFromMap.js#L9
Since: 4.0.0
MakeGetTexCoordOut
<static> MakeGetTexCoordOut([disable])
Description:
Return a ShaderAdditionConfig for getting the texture coordinates from the vertex shader via the outTexCoord variable.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeGetTexCoordOut.js#L7
Since: 4.0.0
MakeGetTexRes
<static> MakeGetTexRes([disable])
Description:
Creates and returns a ShaderAdditionConfig that injects a GLSL fragment shader header providing a helper function for looking up a texture's resolution from a uniform array of resolutions, as used in multi-texture rendering where each bound texture may have a different size.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeGetTexRes.js#L9
Since: 4.0.0
MakeGetTexture
<static> MakeGetTexture([maxTextures], [disable])
Description:
Creates a ShaderAdditionConfig for multi-texture sampling in a WebGL shader. The returned config injects a getTexture GLSL function into the fragment shader header, built as an if...else chain that selects from up to maxTextures texture units based on the texture ID. It also injects a single-line process that samples the current fragment color via that function.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| maxTextures | number | Yes | 1 | The number of texture units to support. Determines how many branches are generated in the texture-selection if...else chain. |
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeGetTexture.js#L9
Since: 4.0.0
MakeOutFrame
<static> MakeOutFrame([disable])
Description:
Returns a ShaderAdditionConfig that declares inFrame as a vertex attribute and passes it to the fragment shader via the outFrame varying.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeOutFrame.js#L7
Since: 4.0.0
MakeOutInverseRotation
<static> MakeOutInverseRotation([disable])
Description:
Returns a ShaderAdditionConfig for creating an outInverseRotationMatrix varying in the vertex shader. This matrix is used during lighting calculations to correctly transform normal vectors into world space, ensuring that light direction is applied relative to the game object's orientation.
The rotation variable must be available in the vertex renderer.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeOutInverseRotation.js#L9
Since: 4.0.0
MakeRotationDatum
<static> MakeRotationDatum([disable])
Description:
Creates and returns a ShaderAdditionConfig that reads the rotation value from the inTexDatum vertex attribute and exposes it as a float rotation variable in the vertex shader's processing stage. This addition is tagged for use with lighting shaders, enabling directional and normal-mapped lighting calculations to account for the rotation of the rendered geometry.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeRotationDatum.js#L7
Since: 4.0.0
MakeSampleNormal
<static> MakeSampleNormal([disable])
Description:
Returns a ShaderAdditionConfig that adds normal map sampling to a TilemapGPULayer shader. The addition samples the normal map texture via uNormSampler, decodes the stored RGB values from the [0, 1] range back into a normalized direction vector in the [-1, 1] range, and exposes the result through a Samples object so that other shader additions (such as lighting calculations) can consume it. The addition is tagged LIGHTING, meaning it will only be active when a lighting pass is in use.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Source: src/renderer/webgl/shaders/additionMakers/MakeSampleNormal.js#L7
Since: 4.0.0
MakeSmoothPixelArt
<static> MakeSmoothPixelArt([disable])
Description:
Creates and returns a ShaderAdditionConfig that enables smooth pixel art rendering.
When applied to a shader, this addition replaces standard texture coordinate interpolation with a blocky sampling method that preserves crisp pixel edges while applying sub-pixel anti-aliasing at texel boundaries. The result is that pixel art assets scaled up or rendered at non-integer scales retain sharp, clean edges rather than the blurriness introduced by bilinear filtering.
Internally this uses the GL_OES_standard_derivatives WebGL extension to compute per-fragment derivative information, which drives the anti-aliased edge blending via the getBlockyTexCoord GLSL helper.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeSmoothPixelArt.js#L9
Since: 4.0.0
MakeTexCoordFrameClamp
<static> MakeTexCoordFrameClamp([disable])
Description:
Returns a ShaderAdditionConfig for clamping coordinates inside a frame. This prevents bleeding across the edges of the frame. However, it creates a hard edge at the frame boundary.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeTexCoordFrameClamp.js#L9
Since: 4.0.0
MakeTexCoordFrameWrap
<static> MakeTexCoordFrameWrap([disable])
Description:
Returns a ShaderAdditionConfig for wrapping coordinates inside a frame. This makes the texture repeat within the bounds of the frame - it's what makes a TileSprite work.
Parameters:
| name | type | optional | default | description |
|---|---|---|---|---|
| disable | boolean | Yes | false | Whether to disable the shader addition on creation. |
Returns: Phaser.Types.Renderer.WebGL.ShaderAdditionConfig - The shader addition configuration.
Source: src/renderer/webgl/shaders/additionMakers/MakeTexCoordFrameWrap.js#L7
Since: 4.0.0