This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The WebGL2RenderingContext.blitFramebuffer() method of the WebGL 2 API transfers a block of pixels from the read framebuffer to the draw framebuffer.
void gl.blitFramebuffer(srcX0, srcY0, srcX1, srcY1,
dstX0, dstY0, dstX1, dstY1,
mask, filter); srcX0, srcY0, srcX1, srcY1GLint specifying the bounds of the source rectangle.dstX0, dstY0, dstX1, dstY1GLint specifying the bounds of the destination rectangle.maskGLbitfield specifying a bitwise OR mask indicating which buffers are to be copied. Possible values: gl.COLOR_BUFFER_BITgl.DEPTH_BUFFER_BITgl.STENCIL_BUFFER_BITfilterGLenum specifying the interpolation to be applied if the image is stretched. Possible values: gl.NEARESTgl.LINEARNone.
gl.blitFramebuffer(0, 0, canvas.width, canvas.height,
0, 0, canvas.width, canvas.height,
gl.COLOR_BUFFER_BIT, gl.NEAREST);
| Specification | Status | Comment |
|---|---|---|
| WebGL 2.0 The definition of 'blitFramebuffer' in that specification. | Editor's Draft | Initial definition for WebGL. |
| OpenGL ES 3.0 The definition of 'glBlitFramebuffer' in that specification. | Standard | Man page of the (similar) OpenGL API. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 56 | No | 51 | No | 43 | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 58 | 58 | No | 51 | 43 | No | 7.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/blitFramebuffer