A Render Target encapsulates a WebGL framebuffer and the WebGL Texture that displays it.
Instances of this class are typically created by, and belong to WebGL Pipelines, however other Game Objects and classes can take advantage of Render Targets as well.
new RenderTarget(renderer, width, height, [scale], [minFilter], [autoClear], [autoResize], [addDepthBuffer], [forceClamp])
name | type | arguments | Default | description |
---|---|---|---|---|
renderer | Phaser.Renderer.WebGL.WebGLRenderer |
A reference to the WebGLRenderer. |
||
width | number |
The width of this Render Target. |
||
height | number |
The height of this Render Target. |
||
scale | number | <optional> | 1 |
A value between 0 and 1. Controls the size of this Render Target in relation to the Renderer. |
minFilter | number | <optional> | 0 |
The minFilter mode of the texture when created. 0 is |
autoClear | boolean | <optional> | true |
Automatically clear this framebuffer when bound? |
autoResize | boolean | <optional> | false |
Automatically resize this Render Target if the WebGL Renderer resizes? |
addDepthBuffer | boolean | <optional> | true |
Add a DEPTH_STENCIL and attachment to this Render Target? |
forceClamp | boolean | <optional> | true |
Force the texture to use the CLAMP_TO_EDGE wrap mode, even if a power of two? |
Controls if this Render Target is automatically cleared (via gl.COLOR_BUFFER_BIT
)
during the RenderTarget.bind
method.
If you need more control over how, or if, the target is cleared, you can disable this via the config on creation, or even toggle it directly at runtime.
Does this Render Target automatically resize when the WebGL Renderer does?
Modify this property via the setAutoResize
method.
Removes all external references from this class and deletes the WebGL framebuffer and texture instances.
Does not remove this Render Target from the parent pipeline.
Force the WebGL Texture to use the CLAMP_TO_EDGE wrap mode, even if a power of two?
If false
it will use gl.REPEAT
instead, which may be required for some effects, such
as using this Render Target as a texture for a Shader.
The Framebuffer of this Render Target.
This is created in the RenderTarget.resize
method.
Does this Render Target have a Depth Buffer?
The height of the texture.
The minFilter mode of the texture. 0 is LINEAR
, 1 is NEAREST
.
A reference to the WebGLRenderer instance.
A value between 0 and 1. Controls the size of this Render Target in relation to the Renderer.
A value of 1 matches it. 0.5 makes the Render Target half the size of the renderer, etc.
The WebGLTextureWrapper of this Render Target.
This is created in the RenderTarget.resize
method.
Unbinds this Render Target and optionally flushes the WebGL Renderer first.
The width of the texture.
Adjusts the GL viewport to match the width and height of this Render Target.
Also disables SCISSOR_TEST
.
Pushes this Render Target as the current frame buffer of the renderer.
If autoClear
is set, then clears the texture.
If adjustViewport
is true
then it will flush the renderer and then adjust the GL viewport.
name | type | arguments | Default | description |
---|---|---|---|---|
adjustViewport | boolean | <optional> | false |
Adjust the GL viewport by calling |
width | number | <optional> |
Optional new width of this Render Target. |
|
height | number | <optional> |
Optional new height of this Render Target. |
Clears a portion or everything from this Render Target. To clear an area,
specify the x
, y
, width
and height
.
name | type | arguments | Default | description |
---|---|---|---|---|
x | number | <optional> | 0 |
The left coordinate of the fill rectangle. |
y | number | <optional> | 0 |
The top coordinate of the fill rectangle. |
width | number | <optional> | this.width |
The width of the fill rectangle. |
height | number | <optional> | this.height |
The height of the fill rectangle. |
Resizes this Render Target as long as the given width and height are different to the current width and height.
Deletes both the frame buffer and texture, if they exist and then re-creates them using the new sizes.
This method is called automatically by the pipeline during its resize handler.
Previous to Phaser v3.85 this method would only run if autoResize
was true
,
it will now run regardless.
name | type | description |
---|---|---|
width | number |
The new width of this Render Target. |
height | number |
The new height of this Render Target. |
This RenderTarget instance.
Sets if this Render Target should automatically resize when the WebGL Renderer emits a resize event.
name | type | description |
---|---|---|
autoResize | boolean |
Automatically resize this Render Target when the WebGL Renderer resizes? |
This RenderTarget instance.
Checks if this Render Target will resize, or not, if given the new width and height values.
name | type | description |
---|---|---|
width | number |
The new width of this Render Target. |
height | number |
The new height of this Render Target. |
true
if the Render Target will resize, otherwise false
.