WebGLRenderingContext: checkFramebufferStatus() method
The WebGLRenderingContext.checkFramebufferStatus()
method
of the WebGL API returns the completeness
status of the WebGLFramebuffer
object.
Syntax
js
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 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_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
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
BCD tables only load in the browser