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#L116
Since: 4.0.0
height
height: number
Description:
The height of the framebuffer, in pixels. This is derived from the first color attachment and is used when allocating renderbuffer storage.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L106
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#L173
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:
The width of the framebuffer, in pixels. This is derived from the first color attachment and is used when allocating renderbuffer storage.
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#L194
Since: 3.80.0
destroy
<instance> destroy()
Description:
Destroys this WebGLFramebufferWrapper.
Source: src/renderer/webgl/wrappers/WebGLFramebufferWrapper.js#L301
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#L278
Since: 4.0.0