This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The copyTexSubImage2D() method of the WebGLRenderingContext interface of the WebGL API copies pixels from the current WebGLFramebuffer into a 2D texture sub-image.
copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
targetA GLenum specifying the binding point (target) of the active texture. Possible values:
gl.TEXTURE_2D: A two-dimensional texture.gl.TEXTURE_CUBE_MAP_POSITIVE_X: Positive X face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Negative X face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Positive Y face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Negative Y face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Positive Z face for a cube-mapped texture.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Negative Z face for a cube-mapped texture.levelA GLint specifying the level of detail. Level 0 is the base image level and level n is the n-th mipmap reduction level.
xoffsetA GLint specifying the horizontal offset within the texture image.
yoffsetA GLint specifying the vertical offset within the texture image.
xA GLint specifying the x coordinate of the lower left corner where to start copying.
yA GLint specifying the y coordinate of the lower left corner where to start copying.
widthA GLsizei specifying the width of the texture in texels.
heightA GLsizei specifying the height of the texture in texels.
None (undefined).
gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 16, 16);
| Specification |
|---|
| WebGL Specification> # 5.14.8> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
copyTexSubImage2D |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 | 8 |
WebGLRenderingContext.copyTexImage2D()WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D()WebGLRenderingContext.compressedTexImage2D()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/copyTexSubImage2D