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
| name | type | optional | description |
|---|---|---|---|
| manager | Phaser.Renderer.WebGL.RenderNodes.RenderNodeManager | No | The manager that owns this RenderNode. |
Scope: static
Extends
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:
| name | type | optional | description |
|---|---|---|---|
| drawingContext | Phaser.Renderer.WebGL.DrawingContext | No | The current drawing context. |
| gameObject | Phaser.GameObjects.Image | No | The GameObject being rendered. |
| element | object | Yes | The 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