WebGL2RenderingContext: blitFramebuffer() 方法

Baseline 已广泛支持

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

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

WebGL2RenderingContext.blitFramebuffer() 方法是 WebGL 2 API 的一部分,用于将像素块从读取帧缓冲(read framebuffer)传输到绘制帧缓冲(draw framebuffer)。读取和绘制帧缓冲使用 WebGLRenderingContext.bindFramebuffer() 绑定。

语法

js
blitFramebuffer(srcX0, srcY0, srcX1, srcY1,
                dstX0, dstY0, dstX1, dstY1,
                mask, filter)

参数

srcX0, srcY0, srcX1, srcY1

一个指定源矩形边界的 GLint

dstX0, dstY0, dstX1, dstY1

一个指定目标矩形边界的 GLint

mask

一个指定要复制的缓冲区的位掩码的 GLbitfield。可能的值

  • gl.COLOR_BUFFER_BIT
  • gl.DEPTH_BUFFER_BIT
  • gl.STENCIL_BUFFER_BIT
filter

一个指定当图像被拉伸时要应用的插值的 GLenum。可能的值

  • gl.NEAREST
  • gl.LINEAR

返回值

无(undefined)。

示例

js
gl.blitFramebuffer(
  0,
  0,
  canvas.width,
  canvas.height,
  0,
  0,
  canvas.width,
  canvas.height,
  gl.COLOR_BUFFER_BIT,
  gl.NEAREST,
);

规范

规范
WebGL 2.0 规范
# 3.7.4

浏览器兼容性

另见