WebGLRenderingContext.checkFramebufferStatus()
The WebGLRenderingContext.checkFramebufferStatus()
method of the WebGL API returns the completeness status of the WebGLFramebuffer
object.
Syntax
GLenum gl.checkFramebufferStatus(target);
Parameters
- target
-
A
GLenum
specifying 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 togl.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_SAMPLES
are different among attached renderbuffers, or are non-zero if the attached images are a mix of renderbuffers and textures.
-
- When using the
OVR_multiview2
extension, the following value can be returned additionally:-
ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR
: IfbaseViewIndex
is not the same for all framebuffer attachment points where the value ofFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
is notNONE
, the framebuffer is considered incomplete.
-
Examples
var canvas = document.getElementById('canvas'); var gl = canvas.getContext('webgl'); var framebuffer = gl.createFramebuffer(); // ... gl.checkFramebufferStatus(gl.FRAMEBUFFER);
Specifications
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 |
≤37 |
25 |
Yes |
12 |
8 |
1.5 |
WebGL2 |
56 |
79 |
51 |
No |
43 |
No |
58 |
58 |
51 |
43 |
No |
7.0 |
See also
WebGLRenderingContext.createFramebuffer()
WebGLRenderingContext.deleteFramebuffer()
WebGLRenderingContext.isFramebuffer()
- Other buffers:
WebGLBuffer
,WebGLRenderbuffer
© 2005–2021 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