Skip to main content
Version: Phaser v4.0.0

TexturerImage

A RenderNode which handles texturing for a single Image-like GameObject, such as an Image or Sprite.

During the WebGL rendering pipeline, this node is called to extract and temporarily cache the texture data needed to render a GameObject: its frame reference, UV source, and display dimensions. It accounts for cropped GameObjects by switching to the crop's UV coordinates and adjusted dimensions, and scales all dimensions by the frame source's resolution so that the upstream batcher receives device-independent pixel values.

Because this node may be reused across multiple GameObjects in a single frame, callers must consume its stored values (via frame, frameWidth, frameHeight, and uvSource) before the next run call overwrites them.

Constructor

new TexturerImage(manager)

Parameters

nametypeoptionaldescription
managerPhaser.Renderer.WebGL.RenderNodes.RenderNodeManagerNoThe manager that owns this RenderNode.

Scope: static

Extends

Phaser.Renderer.WebGL.RenderNodes.RenderNode

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L10
Since: 4.0.0

Inherited Members

From Phaser.Renderer.WebGL.RenderNodes.RenderNode:


Public Members

frame

frame: Phaser.Textures.Frame

Description:

The frame data of the GameObject being rendered.

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L40
Since: 4.0.0


frameHeight

frameHeight: number

Description:

The display height of the frame in resolution-adjusted pixels. This reflects the crop height when the GameObject is cropped, and is divided by the frame source's resolution to produce device-independent pixel values for the renderer.

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L61
Since: 4.0.0


frameWidth

frameWidth: number

Description:

The display width of the frame in resolution-adjusted pixels. This reflects the crop width when the GameObject is cropped, and is divided by the frame source's resolution to produce device-independent pixel values for the renderer.

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L49
Since: 4.0.0


uvSource

uvSource: Phaser.Textures.Frame, Phaser.GameObjects.Components.Crop

Description:

The object where UV coordinates and frame coordinates are stored. This is either a Frame or a Crop object.

It should have the properties u0, v0, u1, v1, x, y.

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L73
Since: 4.0.0


Inherited Methods

From Phaser.Renderer.WebGL.RenderNodes.RenderNode:


Public Methods

run

<instance> run(drawingContext, gameObject, [element])

Description:

Populates this RenderNode with the texture data required to render the given Image-like GameObject.

This method resolves the correct UV source for the GameObject: if it is not cropped, the frame itself is used; if it is cropped, the crop object is used and its UVs are recalculated when the flip state has changed. Frame dimensions are set to the crop dimensions when cropped. In both cases, the resulting dimensions are divided by the frame source's resolution to produce device-independent pixel values.

The stored values (frame, frameWidth, frameHeight, uvSource) must be consumed before this node is run again, as they will be overwritten on the next call.

Parameters:

nametypeoptionaldescription
drawingContextPhaser.Renderer.WebGL.DrawingContextNoThe current drawing context.
gameObjectPhaser.GameObjects.ImageNoThe GameObject being rendered.
elementobjectYesThe specific element within the game object. This is used for objects that consist of multiple quads. It is unused here.

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

Source: src/renderer/webgl/renderNodes/texturer/TexturerImage.js#L86
Since: 4.0.0