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);

规范

WebGL 1.0

OpenGL ES 2.0

WebGL 2.0

OpenGL ES 3.0

浏览器兼容

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。

results matching ""

    No results matching ""