WebGL2RenderingContext: blitFramebuffer() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Note: This feature is available in Web Workers.

The WebGL2RenderingContext.blitFramebuffer() method of the WebGL 2 API transfers a block of pixels from the read framebuffer to the draw framebuffer. Read and draw framebuffers are bound using WebGLRenderingContext.bindFramebuffer().

Syntax

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

Parameters

srcX0, srcY0, srcX1, srcY1

A GLint specifying the bounds of the source rectangle.

dstX0, dstY0, dstX1, dstY1

A GLint specifying the bounds of the destination rectangle.

mask

A GLbitfield specifying a bitwise OR mask indicating which buffers are to be copied. Possible values:

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

A GLenum specifying the interpolation to be applied if the image is stretched. Possible values:

  • gl.NEAREST
  • gl.LINEAR

Return value

None (undefined).

Examples

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

Specifications

Specification
WebGL 2.0 Specification
# 3.7.4

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
blitFramebuffer

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also