WebGL2RenderingContext: invalidateSubFramebuffer() 方法

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2021 年 9 月起,所有浏览器均已支持此功能。

注意:此功能在 Web Workers 中可用。

WebGL2RenderingContext.invalidateSubFramebuffer() 方法是 WebGL 2 API 的一部分,用于使帧缓冲中附件的部分内容失效。

语法

js
invalidateSubFramebuffer(target, attachments, x, y, width, height)

参数

目标

一个 GLenum,指定绑定点(目标)。可能的值

gl.FRAMEBUFFER

用于渲染图像的颜色、Alpha、深度和模板缓冲区的集合缓冲区数据存储。

gl.DRAW_FRAMEBUFFER

等同于 gl.FRAMEBUFFER

gl.READ_FRAMEBUFFER

用作读取操作的源。

attachments

一个 Array,包含指定要使其失效的附件点的 GLenum 值。可能的值有:

gl.COLOR_ATTACHMENT{0-15}

使帧缓冲的一个颜色缓冲区失效。

gl.DEPTH_ATTACHMENT

使帧缓冲的深度缓冲区失效。

gl.STENCIL_ATTACHMENT

使帧缓冲的模板缓冲区失效。

gl.DEPTH_STENCIL_ATTACHMENT

使帧缓冲的深度和模板缓冲区都失效。

x

一个 GLint,指定要使其失效的像素矩形的左侧起始位置。

y

一个 GLint,指定要使其失效的像素矩形底部起始位置。

width

一个 GLsizei,指定要使其失效的像素矩形的宽度。

height

一个 GLsizei,指定要使其失效的像素矩形的高度。

返回值

无(undefined)。

示例

js
gl.invalidateSubFramebuffer(
  gl.READ_FRAMEBUFFER,
  [gl.COLOR_ATTACHMENT0, gl.COLOR_ATTACHMENT1],
  0,
  0,
  256,
  256,
);

规范

规范
WebGL 2.0 规范
# 3.7.4

浏览器兼容性

另见