WebGLFramebufferWrapper
Wrapper for a WebGL frame buffer,
containing all the information that was used to create it.
A WebGLFramebuffer should never be exposed outside the WebGLRenderer,
so the WebGLRenderer can handle context loss and other events
without other systems having to be aware of it.
Always use WebGLFramebufferWrapper instead.
This also manages the attachments to the framebuffer,
including renderbuffer life cycle.
Constructor
new WebGLFramebufferWrapper(renderer, colorAttachments, [addStencilBuffer], [addDepthBuffer])
Parameters
| name | type | optional | default | description |
|---|---|---|---|---|
| renderer | Phaser.Renderer.WebGL.WebGLRenderer | No | The renderer this WebGLFramebuffer belongs to. | |
| colorAttachments | Array.<Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper> | No | The color textures where the color pixels are written. If empty, the canvas will be used as the color attachment. Only the first color attachment is used in default WebGL1. | |
| addStencilBuffer | boolean | Yes | false | Whether to add a stencil buffer to the framebuffer. If the canvas is used as the color attachment, this will be ignored. |
| addDepthBuffer | boolean | Yes | false | Whether to add a depth buffer to the framebuffer. If depth and stencil are both provided, they will be combined into a single depth-stencil buffer. If the canvas is used as the color attachment, this will be ignored. |
Scope: static
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L27
Since: 3.80.0
Public Members
attachments
attachments: Array.<Attachment>
Description:
Attachments to the framebuffer. These contain data such as
the width, height, and renderbuffer or texture.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L114
Since: 4.0.0
height
height: number
Description:
Height of the depth stencil.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L105
Since: 3.80.0
renderer
renderer: Phaser.Renderer.WebGL.WebGLRenderer
Description:
The WebGLRenderer this WebGLFramebuffer belongs to.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L75
Since: 4.0.0
renderTexture
renderTexture: Phaser.Renderer.WebGL.Wrappers.WebGLTextureWrapper
Description:
The color texture where the color pixels are written.
This will be null if the canvas is used as the color attachment.
It is the first color attachment on the framebuffer.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L171
Since: 3.80.0
useCanvas
useCanvas: boolean
Description:
Whether to use the canvas as the color attachment.
If this is true, a framebuffer will not be created.
This is useful for the main framebuffer, which is created by the browser.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L84
Since: 4.0.0
webGLFramebuffer
webGLFramebuffer: WebGLFramebuffer
Description:
The WebGLFramebuffer being wrapped by this class.
This property could change at any time.
Therefore, you should never store a reference to this value.
It should only be passed directly to the WebGL API for drawing.
If the FrameBuffer is using the canvas as the color attachment,
this property will be null.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L58
Since: 3.80.0
width
width: number
Description:
Width of the depth stencil.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L96
Since: 3.80.0
Public Methods
createResource
<instance> createResource()
Description:
Creates a WebGLFramebuffer from the given parameters.
This is called automatically by the constructor. It may also be
called again if the WebGLFramebuffer needs re-creating.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L192
Since: 3.80.0
destroy
<instance> destroy()
Description:
Destroys this WebGLFramebufferWrapper.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L299
Since: 3.80.0
resize
<instance> resize(width, height)
Description:
Resizes the attachments of this WebGLFramebufferWrapper.
Parameters:
| name | type | optional | description |
|---|---|---|---|
| width | number | No | The new width of the framebuffer. |
| height | number | No | The new height of the framebuffer. |
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L276
Since: 4.0.0