Skip to main content
Version: Phaser v4.0.0

SubmitterSpriteGPULayer

This RenderNode handles rendering of a single SpriteGPULayer object. A new instance of the RenderNode should be created for each SpriteGPULayer object, as it stores the shader program and vertex buffer data for the object.

It is a Stand-Alone Render Node, meaning that it does not batch with other objects. It is best suited to rendering highly complex GPU-driven sprite layers.

Constructor

new SubmitterSpriteGPULayer(manager, config, gameObject)

Parameters

nametypeoptionaldescription
managerPhaser.Renderer.WebGL.RenderNodes.RenderNodeManagerNoThe manager that owns this RenderNode.
configPhaser.Types.Renderer.WebGL.RenderNodes.SubmitterSpriteGPULayerConfigNoThe configuration object for this handler.
gameObjectPhaser.GameObjects.SpriteGPULayerNoThe SpriteGPULayer object to render.

Scope: static

Extends

Phaser.Renderer.WebGL.RenderNodes.RenderNode

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L29
Since: 4.0.0

Inherited Members

From Phaser.Renderer.WebGL.RenderNodes.RenderNode:


Public Members

_calcMatrix

_calcMatrix: Phaser.GameObjects.Components.TransformMatrix

Description:

A matrix used for temporary calculations.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L155
Since: 4.0.0


config

config: object

Description:

The completed configuration object for this RenderNode. This is defined by the default configuration and the user-defined configuration object.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L60
Since: 4.0.0


defaultConfig

defaultConfig: object

Description:

Default configuration of this RenderNode.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L175
Since: 4.0.0


gameObject

gameObject: Phaser.GameObjects.SpriteGPULayer

Description:

The SpriteGPULayer GameObject this RenderNode is rendering.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L70
Since: 4.0.0


instanceBufferLayout

instanceBufferLayout: Phaser.Renderer.WebGL.Wrappers.WebGLVertexBufferLayoutWrapper

Description:

The instance buffer layout for this RenderNode.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L80
Since: 4.0.0


programManager

programManager: Phaser.Renderer.WebGL.ProgramManager

Description:

The program manager used to create and manage shader programs. This contains shader variants.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L119
Since: 4.0.0


vertexBufferLayout

vertexBufferLayout: Phaser.Renderer.WebGL.Wrappers.WebGLVertexBufferLayoutWrapper

Description:

The vertex buffer layout for this RenderNode.

This consists of 4 bytes, 0-3, forming corners of a quad instance.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L94
Since: 4.0.0


Inherited Methods

From Phaser.Renderer.WebGL.RenderNodes.RenderNode:


Public Methods

_completeLayout

<instance> _completeLayout(config)

Description:

Fill out the configuration object with default values where needed.

Parameters:

nametypeoptionaldescription
configobjectNoThe configuration object to complete.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L287
Since: 4.0.0


run

<instance> run(drawingContext)

Description:

Render a SpriteGPULayer object.

Parameters:

nametypeoptionaldescription
drawingContextPhaser.Renderer.WebGL.DrawingContextNoThe current drawing context.

Overrides: Phaser.Renderer.WebGL.RenderNodes.RenderNode#run

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L528
Since: 4.0.0


setupUniforms

<instance> setupUniforms(drawingContext)

Description:

Uploads all shader uniforms required for the current render pass. This includes camera projection and view matrices, render resolution, pixel rounding, scroll offsets, elapsed time, diffuse and frame data texture resolutions, gravity, texture sampler bindings, and lighting uniforms if lighting is enabled on the layer.

Parameters:

nametypeoptionaldescription
drawingContextPhaser.Renderer.WebGL.DrawingContextNoThe current drawing context.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L373
Since: 4.0.0


updateRenderOptions

<instance> updateRenderOptions()

Description:

Updates the shader program options based on the current state of the SpriteGPULayer game object. Enables or disables lighting shader additions, sets the active light count define, configures smooth pixel art rendering, and applies any shader features reported by the game object, including self-shadowing support.

Source: src/renderer/webgl/renderNodes/submitter/SubmitterSpriteGPULayer.js#L471
Since: 4.0.0