WebGLRenderingContext.checkFramebufferStatus()
checkFramebufferStatus返回WebGLFramebuffer对象的完整性状态。
语法
GLenum gl.checkFramebufferStatus(target);
参数
target
GLenum类型,来定义绑定点(目标)。可能的值有:
gl.FRAMEBUFFER:缓冲区中储存的用来渲染一张图片的颜色、alpha、深度和模版缓冲的数据。
当使用WebGL 2.0背景,下列的值可额外被使用:
gl.DRAW_FRAMEBUFFER:等同于gl.FRAMEBUFFER。作为一个目标用来绘制、渲染、清理和书写作业。.
gl. READ_FRAMEBUFFER :用作一个读取作业的源。
返回值
GLenum类型,表示帧缓冲区的完整性状态,当有错误时为0.可能的返回值如下:
gl.FRAMEBUFFER_COMPLETE: 帧缓冲区已准备好呈现。
gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:附件类型不匹配,或不是所有的帧缓冲区附着点都是完整的。
gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:没有附件。.
gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:附件的高和宽是不一样的。
gl.FRAMEBUFFER_UNSUPPORTED:附件的格式不被支持,或当深度和模板附件不是相同的渲染缓冲区时。
当使用WebGL 2.0上下文,下列的值可额外被返回:
- gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:gl.RENDERBUFFER_SAMPLES的值在附属渲染缓冲区当中是不同的,或当附属图片是渲染缓冲区和纹理的混合时, gl.RENDERBUFFER_SAMPLES 的值是非零。
例子
var canvas = document.getElementById("canvas");
var gl = canvas.getContext("webgl");
var framebuffer = gl.createFramebuffer();
// ...
gl.checkFramebufferStatus(gl.FRAMEBUFFER);
规范
浏览器兼容
Desktop:Chrome 9、 Edge 12、Firefox 4.0 、 Internet Explorer 11 、Opera 12、Safari 5.1;
Mobile: Android ?、 Chrome for Android 25、 Firefox Mobile 4.0、Firefox OS 1.0、 IE Mobile ?、 Opera Mobile 12、 Safari Mobile 8.0;
Chrome、FireFox 发行版本需要在偏好设置启用WebGL2。