The WebGLRenderingContext.checkFramebufferStatus() method of the WebGL API returns the completeness status of the WebGLFramebuffer object.
On this page
WebGLRenderingContext: checkFramebufferStatus() method
Syntax
js
checkFramebufferStatus(target)
Parameters
-
target -
A
GLenumspecifying the binding point (target). Possible values:-
gl.FRAMEBUFFER -
Collection buffer data storage of color, alpha, depth and stencil buffers used to render an image.
When using a WebGL 2 context, the following values are available additionally:
-
gl.DRAW_FRAMEBUFFER -
Equivalent to
gl.FRAMEBUFFER. Used as a destination for drawing, rendering, clearing, and writing operations. -
gl.READ_FRAMEBUFFER -
Used as a source for reading operations.
-
Return value
A GLenum indicating the completeness status of the framebuffer or 0 if an error occurs. Possible enum return values:
gl.FRAMEBUFFER_COMPLETE: The framebuffer is ready to display.gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT: The attachment types are mismatched or not all framebuffer attachment points are framebuffer attachment complete.gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: There is no attachment.gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Height and width of the attachment are not the same.gl.FRAMEBUFFER_UNSUPPORTED: The format of the attachment is not supported or if depth and stencil attachments are not the same renderbuffer.- When using a WebGL 2 context, the following values can be returned additionally:
gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: The values ofgl.RENDERBUFFER_SAMPLESare different among attached renderbuffers, or are non-zero if the attached images are a mix of renderbuffers and textures.
- When using the
OVR_multiview2extension, the following value can be returned additionally:ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: IfbaseViewIndexis not the same for all framebuffer attachment points where the value ofFRAMEBUFFER_ATTACHMENT_OBJECT_TYPEis notNONE, the framebuffer is considered incomplete.
Examples
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
// …
gl.checkFramebufferStatus(gl.FRAMEBUFFER);
Specifications
| Specification |
|---|
| WebGL Specification # 5.14.6 |
| WebGL 2.0 Specification # 3.7.4 |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
checkFramebufferStatus |
9 | 12 | 4 | 11 | 12 | 5.1 | 4.4.3 | 25 | 4 | 12 | 8 | 1.5 |
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/checkFramebufferStatus