WebGLRenderingContext.checkFramebufferStatus()
方法在
WebGL API
returns the completeness status of the
WebGLFramebuffer
对象。
GLenum gl.checkFramebufferStatus(target);
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.
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.
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.
gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
: The values of
gl.RENDERBUFFER_SAMPLES
are different among attached renderbuffers, or are non-zero if the attached images are a mix of renderbuffers and textures.
OVR_multiview2
extension, the following value can be returned additionally:
ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR
:若
baseViewIndex
is not the same for all framebuffer attachment points where the value of
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
不是
NONE
, the framebuffer is considered incomplete.
var canvas = document.getElementById('canvas');
var gl = canvas.getContext('webgl');
var framebuffer = gl.createFramebuffer();
// ...
gl.checkFramebufferStatus(gl.FRAMEBUFFER);
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebGL 1.0
The definition of 'checkFramebufferStatus' in that specification. |
推荐 | Initial definition for WebGL. |
|
OpenGL ES 2.0
The definition of 'glCheckFramebufferStatus' in that specification. |
标准 | Man page of the OpenGL API. |
|
WebGL 2.0
The definition of 'checkFramebufferStatus' in that specification. |
编者草案 | Updated definition for WebGL 2. |
|
OpenGL ES 3.0
The definition of 'glCheckFramebufferStatus' in that specification. |
标准 | Man page of the (similar) OpenGL ES 3 API. |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
更新 GitHub 上的兼容性数据| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
checkFramebufferStatus
|
Chrome 9 | Edge 12 | Firefox 4 | IE 11 | Opera 12 | Safari 5.1 | WebView Android Yes | Chrome Android 25 | Firefox Android Yes | Opera Android 12 | Safari iOS 8 | Samsung Internet Android 1.5 |
WebGL2
|
Chrome 56 | Edge 79 | Firefox 51 | IE No | Opera 43 | Safari No | WebView Android 58 | Chrome Android 58 | Firefox Android 51 | Opera Android 43 | Safari iOS No | Samsung Internet Android 7.0 |
完整支持
不支持
WebGLRenderingContext.createFramebuffer()
WebGLRenderingContext.deleteFramebuffer()
WebGLRenderingContext.isFramebuffer()
WebGLBuffer
,
WebGLRenderbuffer
WebGLRenderingContext
activeTexture()
attachShader()
bindAttribLocation()
bindBuffer()
bindFramebuffer()
bindRenderbuffer()
bindTexture()
blendColor()
blendEquation()
blendEquationSeparate()
blendFunc()
blendFuncSeparate()
bufferData()
bufferSubData()
checkFramebufferStatus()
clear()
clearColor()
clearDepth()
clearStencil()
colorMask()
commit()
compileShader()
compressedTexImage[23]D()
compressedTexSubImage2D()
copyTexImage2D()
copyTexSubImage2D()
createBuffer()
createFramebuffer()
createProgram()
createRenderbuffer()
createShader()
createTexture()
cullFace()
deleteBuffer()
deleteFramebuffer()
deleteProgram()
deleteRenderbuffer()
deleteShader()
deleteTexture()
depthFunc()
depthMask()
depthRange()
detachShader()
disable()
disableVertexAttribArray()
drawArrays()
drawElements()
enable()
enableVertexAttribArray()
finish()
flush()
framebufferRenderbuffer()
framebufferTexture2D()
frontFace()
generateMipmap()
getActiveAttrib()
getActiveUniform()
getAttachedShaders()
getAttribLocation()
getBufferParameter()
getContextAttributes()
getError()
getExtension()
getFramebufferAttachmentParameter()
getParameter()
getProgramInfoLog()
getProgramParameter()
getRenderbufferParameter()
getShaderInfoLog()
getShaderParameter()
getShaderPrecisionFormat()
getShaderSource()
getSupportedExtensions()
getTexParameter()
getUniform()
getUniformLocation()
getVertexAttrib()
getVertexAttribOffset()
hint()
isBuffer()
isContextLost()
isEnabled()
isFramebuffer()
isProgram()
isRenderbuffer()
isShader()
isTexture()
lineWidth()
linkProgram()
pixelStorei()
polygonOffset()
readPixels()
renderbufferStorage()
sampleCoverage()
scissor()
shaderSource()
stencilFunc()
stencilFuncSeparate()
stencilMask()
stencilMaskSeparate()
stencilOp()
stencilOpSeparate()
texImage2D()
texParameter[fi]()
texSubImage2D()
uniform[1234][fi][v]()
uniformMatrix[234]fv()
useProgram()
validateProgram()
vertexAttrib[1234]f[v]()
vertexAttribPointer()
viewport()
ANGLE_instanced_arrays
EXT_blend_minmax
EXT_color_buffer_half_float
EXT_disjoint_timer_query
EXT_frag_depth
EXT_sRGB
EXT_shader_texture_lod
EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBGL_color_buffer_float
WEBGL_compressed_texture_atc
WEBGL_compressed_texture_etc1
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_debug_renderer_info
WEBGL_debug_shaders
WEBGL_depth_texture
WEBGL_draw_buffers
WEBGL_lose_context
WebGL2RenderingContext
WebGLActiveInfo
WebGLBuffer
WebGLContextEvent
WebGLFramebuffer
WebGLObject
WebGLProgram
WebGLQuery
WebGLRenderbuffer
WebGLSampler
WebGLShader
WebGLShaderPrecisionFormat
WebGLSync
WebGLTexture
WebGLTransformFeedback
WebGLUniformLocation
WebGLVertexArrayObject