Skip to main content
Version: Phaser v4.0.0

Phaser.Renderer.WebGL.Utils

Scope: static

Source: src/renderer/webgl/Utils.js#L11
Since: 3.0.0

Static functions

checkShaderMax

<static> checkShaderMax(gl, maxTextures)

Description:

Check to see how many texture units the GPU supports in a fragment shader and if the value specified 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


getFloatsFromUintRGB

<static> getFloatsFromUintRGB(rgb)

Description:

Unpacks a Uint24 RGB into an array of floats with values in the range 0.0 to 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


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 returns 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 returns a swizzled Uint32 with the red and blue channels exchanged (RGB becomes BGR)

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


getTintFromFloats

<static> getTintFromFloats(r, g, b, a)

Description:

Packs four floats in 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


updateLightingUniforms

<static> updateLightingUniforms(enable, drawingContext, programManager, textureUnit, vec, [selfShadow], [selfShadowPenumbra], [selfShadowThreshold])

Description:

Sets or clears all lighting-related uniforms on the given shader program manager.

When enable is true, this function queries the Scene's Light Manager for all active lights visible to the camera and uploads their positions, colors, intensities, and radii as uniform arrays to the shader. It also uploads the ambient light color, camera transform, and the normal map texture unit. Optionally enables self-shadowing by uploading the penumbra and diffuse threshold uniforms.

When enable is false, all previously set lighting uniforms are removed from the program manager. If the Scene has no active Light Manager, the function returns early without making any changes.

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