This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The WebGL2RenderingContext.compressedTexSubImage3D() method of the WebGL API specifies a three-dimensional sub-rectangle for a texture image in a compressed format.
// read from the buffer bound to gl.PIXEL_UNPACK_BUFFER void gl.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset); void gl.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, ArrayBufferView srcData, optional srcOffset, optional srcLengthOverride);
targetGLenum specifying the binding point (target) of the active texture. Possible values: gl.TEXTURE_3D: A three-dimensional texture.gl.TEXTURE_2D_ARRAY: A two-dimensional array texture.levelGLint specifying the level of detail. Level 0 is the base image level and level n is the nth mipmap reduction level.xoffsetGLint specifying the x offset within the compressed texture image.yoffsetGLint specifying the y offset within the compressed texture image.zoffsetGLint specifying the z offset within the compressed texture image.widthGLsizei specifying the width of the texture.heightGLsizei specifying the height of the texture.depthGLsizei specifying the depth of the texture.formatGLenum specifying the compressed image format. Possible values: gl.COMPRESSED_R11_EACgl.COMPRESSED_SIGNED_R11_EACgl.COMPRESSED_RG11_EACgl.COMPRESSED_SIGNED_RG11_EACgl.COMPRESSED_RGB8_ETC2gl.COMPRESSED_RGBA8_ETC2_EACgl.COMPRESSED_SRGB8_ETC2gl.COMPRESSED_SRGB8_ALPHA8_ETC2_EACgl.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2gl.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2imageSizeGLint specifying the number of bytes to read from the buffer bound to gl.PIXEL_UNPACK_BUFFER.offsetGLint specifying the offset in bytes from which to read from the buffer bound to gl.PIXEL_UNPACK_BUFFER.srcDataArrayBufferView that be used as a data store for the compressed image data in memory.None.
gl.compressedTexSubImage3D(gl.TEXTURE_3D, 0, 0, 0, 512, 512, 512, gl.COMPRESSED_R11_EAC, textureData);
| Specification | Status | Comment |
|---|---|---|
| WebGL 2.0 The definition of 'compressedTexSubImage3D' in that specification. | Editor's Draft | Initial definition for WebGL. |
| OpenGL ES 3.0 The definition of 'glCompressedTexSubImage3D' in that specification. | Standard | Man page of the (similar) OpenGL ES 3.0 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/compressedTexSubImage3D