Phaser.Renderer.Canvas
GetBlendModes
<static> GetBlendModes()
Description:
Returns an array which maps the default blend modes to supported Canvas blend modes.
If the browser doesn't support a blend mode, it will default to the normal source-over blend mode.
Returns: array - Which Canvas blend mode corresponds to which default Phaser blend mode.
Source: src/renderer/canvas/utils/GetBlendModes.js#L10
Since: 3.0.0
SetTransform
<static> SetTransform(renderer, ctx, src, camera, [parentMatrix])
Description:
Takes a reference to the Canvas Renderer, a Canvas Rendering Context, a Game Object, a Camera and a parent matrix
and then performs the following steps:
-
Checks the alpha of the source combined with the Camera alpha. If 0 or less it aborts.
-
Takes the Camera and Game Object matrix and multiplies them, combined with the parent matrix if given.
-
Sets the blend mode of the context to be that used by the Game Object.
-
Sets the alpha value of the context to be that used by the Game Object combined with the Camera.
-
Saves the context state.
-
Sets the final matrix values into the context via setTransform.
-
If the Game Object has a texture frame, imageSmoothingEnabled is set based on frame.source.scaleMode.
-
If the Game Object does not have a texture frame, imageSmoothingEnabled is set based on Renderer.antialias.
This function is only meant to be used internally. Most of the Canvas Renderer classes use it.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| renderer | Phaser.Renderer.Canvas.CanvasRenderer | No | A reference to the current active Canvas renderer. |
| ctx | CanvasRenderingContext2D | No | The canvas context to set the transform on. |
| src | Phaser.GameObjects.GameObject | No | The Game Object being rendered. Can be any type that extends the base class. |
| camera | Phaser.Cameras.Scene2D.Camera | No | The Camera that is rendering the Game Object. |
| parentMatrix | Phaser.GameObjects.Components.TransformMatrix | Yes | A parent transform matrix to apply to the Game Object before rendering. |
Returns: boolean - true if the Game Object context was set, otherwise false.
Source: src/renderer/canvas/utils/SetTransform.js#L9
Since: 3.12.0
Phaser.Renderer.Snapshot
Canvas
<static> Canvas(sourceCanvas, config)
Description:
Takes a snapshot of an area from the current frame displayed by a canvas.
This is then copied to an Image object. When this loads, the results are sent
to the callback provided in the Snapshot Configuration object.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| sourceCanvas | HTMLCanvasElement | No | The canvas to take a snapshot of. |
| config | Phaser.Types.Renderer.Snapshot.SnapshotState | No | The snapshot configuration object. |
Source: src/renderer/snapshot/CanvasSnapshot.js#L11
Since: 3.0.0
WebGL
<static> WebGL(sourceContext, config)
Description:
Takes a snapshot of an area from the current frame displayed by a WebGL canvas.
This is then copied to an Image object. When this loads, the results are sent
to the callback provided in the Snapshot Configuration object.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| sourceContext | WebGLRenderingContext | No | The WebGL context to take a snapshot of. |
| config | Phaser.Types.Renderer.Snapshot.SnapshotState | No | The snapshot configuration object. |
Source: src/renderer/snapshot/WebGLSnapshot.js#L11
Since: 3.0.0
Phaser.Renderer.WebGL.Utils
getTintFromFloats
<static> getTintFromFloats(r, g, b, a)
Description:
Packs four floats on a range from 0.0 to 1.0 into a single Uint32
Parameters:
| name | type | optional | description |
|---|---|---|---|
| r | number | No | Red component in a range from 0.0 to 1.0 |
| g | number | No | Green component in a range from 0.0 to 1.0 |
| b | number | No | Blue component in a range from 0.0 to 1.0 |
| a | number | No | Alpha component in a range from 0.0 to 1.0 |
Returns: number - The packed RGBA values as a Uint32.
Source: src/renderer/webgl/Utils.js#L17
Since: 3.0.0
getTintAppendFloatAlpha
<static> getTintAppendFloatAlpha(rgb, a)
Description:
Packs a Uint24, representing RGB components, with a Float32, representing
the alpha component, with a range between 0.0 and 1.0 and return a Uint32
Parameters:
| name | type | optional | description |
|---|---|---|---|
| rgb | number | No | Uint24 representing RGB components |
| a | number | No | Float32 representing Alpha component |
Returns: number - Packed RGBA as Uint32
Source: src/renderer/webgl/Utils.js#L40
Since: 3.0.0
getTintAppendFloatAlphaAndSwap
<static> getTintAppendFloatAlphaAndSwap(rgb, a)
Description:
Packs a Uint24, representing RGB components, with a Float32, representing
the alpha component, with a range between 0.0 and 1.0 and return a
swizzled Uint32
Parameters:
| name | type | optional | description |
|---|---|---|---|
| rgb | number | No | Uint24 representing RGB components |
| a | number | No | Float32 representing Alpha component |
Returns: number - Packed RGBA as Uint32
Source: src/renderer/webgl/Utils.js#L59
Since: 3.0.0
getFloatsFromUintRGB
<static> getFloatsFromUintRGB(rgb)
Description:
Unpacks a Uint24 RGB into an array of floats of ranges of 0.0 and 1.0
Parameters:
| name | type | optional | description |
|---|---|---|---|
| rgb | number | No | RGB packed as a Uint24 |
Returns: array - Array of floats representing each component as a float
Source: src/renderer/webgl/Utils.js#L82
Since: 3.0.0
checkShaderMax
<static> checkShaderMax(gl, maxTextures)
Description:
Check to see how many texture units the GPU supports in a fragment shader
and if the value specific in the game config is allowed.
This value is hard-clamped to 16 for performance reasons on Android devices.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| gl | WebGLRenderingContext | No | The WebGLContext used to create the shaders. |
| maxTextures | number | No | The Game Config maxTextures value. |
Returns: number - The number of texture units that is supported by this browser and GPU.
Source: src/renderer/webgl/Utils.js#L101
Since: 3.50.0
updateLightingUniforms
<static> updateLightingUniforms(enable, drawingContext, programManager, textureUnit, vec, [selfShadow], [selfShadowPenumbra], [selfShadowThreshold])
Description:
Update lighting uniforms for a given shader program manager.
This is a standard procedure for most lighting shaders.
Tags:
- webglOnly
Parameters:
| name | type | optional | description |
|---|---|---|---|
| enable | boolean | No | Whether to enable lighting. |
| drawingContext | Phaser.Renderer.WebGL.DrawingContext | No | The DrawingContext instance. |
| programManager | Phaser.Renderer.WebGL.ProgramManager | No | The ShaderProgramManager instance. |
| textureUnit | number | No | The texture unit to use for the normal map. |
| vec | Phaser.Math.Vector2 | No | A Vector2 instance. |
| selfShadow | boolean | Yes | Whether to enable self-shadowing. |
| selfShadowPenumbra | number | Yes | The penumbra value for self-shadowing. |
| selfShadowThreshold | number | Yes | The threshold value for self-shadowing. |
Source: src/renderer/webgl/Utils.js#L133
Since: 4.0.0
Phaser.Renderer.WebGL.Shaders
MakeApplyFlatLighting
<static> MakeApplyFlatLighting([disable])
Description:
Return a ShaderAdditionConfig for applying lighting to a flat piece of 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/MakeApplyFlatLighting.js#L9
Since: 4.0.0
MakeApplyLighting
<static> MakeApplyLighting([disable])
Description:
Return a ShaderAdditionConfig for applying lighting to a texture.
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/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
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 for creating an outInverseRotationMatrix
in the vertex shader, which is used to apply 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
MakeOutFrame
<static> MakeOutFrame([disable])
Description:
Returns a ShaderAdditionConfig for providing the vertex shader with the inFrame attribute.
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:
Return a ShaderAdditionConfig for creating an outInverseRotationMatrix
in the vertex shader, which is used to apply lighting to a texture.
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:
Return a ShaderAdditionConfig for deriving rotation from inTexDatum.
This is useful for shaders that need to know their orientation.
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:
Return a ShaderAdditionConfig for sampling a normal map
in the context of a TilemapGPULayer shader.
This shader uses a Samples object to collate texture samples.
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
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