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

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:

  1. Checks the alpha of the source combined with the Camera alpha. If 0 or less it aborts.

  2. Takes the Camera and Game Object matrix and multiplies them, combined with the parent matrix if given.

  3. Sets the blend mode of the context to be that used by the Game Object.

  4. Sets the alpha value of the context to be that used by the Game Object combined with the Camera.

  5. Saves the context state.

  6. Sets the final matrix values into the context via setTransform.

  7. If the Game Object has a texture frame, imageSmoothingEnabled is set based on frame.source.scaleMode.

  8. 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:

nametypeoptionaldescription
rendererPhaser.Renderer.Canvas.CanvasRendererNoA reference to the current active Canvas renderer.
ctxCanvasRenderingContext2DNoThe canvas context to set the transform on.
srcPhaser.GameObjects.GameObjectNoThe Game Object being rendered. Can be any type that extends the base class.
cameraPhaser.Cameras.Scene2D.CameraNoThe Camera that is rendering the Game Object.
parentMatrixPhaser.GameObjects.Components.TransformMatrixYesA 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:

nametypeoptionaldescription
sourceCanvasHTMLCanvasElementNoThe canvas to take a snapshot of.
configPhaser.Types.Renderer.Snapshot.SnapshotStateNoThe 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:

nametypeoptionaldescription
sourceContextWebGLRenderingContextNoThe WebGL context to take a snapshot of.
configPhaser.Types.Renderer.Snapshot.SnapshotStateNoThe 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:

nametypeoptionaldescription
rnumberNoRed component in a range from 0.0 to 1.0
gnumberNoGreen component in a range from 0.0 to 1.0
bnumberNoBlue component in a range from 0.0 to 1.0
anumberNoAlpha 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:

nametypeoptionaldescription
rgbnumberNoUint24 representing RGB components
anumberNoFloat32 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:

nametypeoptionaldescription
rgbnumberNoUint24 representing RGB components
anumberNoFloat32 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:

nametypeoptionaldescription
rgbnumberNoRGB 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:

nametypeoptionaldescription
glWebGLRenderingContextNoThe WebGLContext used to create the shaders.
maxTexturesnumberNoThe 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:

nametypeoptionaldescription
enablebooleanNoWhether to enable lighting.
drawingContextPhaser.Renderer.WebGL.DrawingContextNoThe DrawingContext instance.
programManagerPhaser.Renderer.WebGL.ProgramManagerNoThe ShaderProgramManager instance.
textureUnitnumberNoThe texture unit to use for the normal map.
vecPhaser.Math.Vector2NoA Vector2 instance.
selfShadowbooleanYesWhether to enable self-shadowing.
selfShadowPenumbranumberYesThe penumbra value for self-shadowing.
selfShadowThresholdnumberYesThe 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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:

nametypeoptionaldefaultdescription
disablebooleanYesfalseWhether 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