WebGL2RenderingContext: compressedTexSubImage3D() 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 compressedTexSubImage3D() method of the WebGL2RenderingContext interface of the WebGL API specifies a three-dimensional sub-rectangle for a texture image in a compressed format.
Compressed image formats are only available via some WebGL extension.
Syntax
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset)
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData)
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset)
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset, srcLengthOverride)
Parameters
target-
A
GLenumspecifying the binding point (target) of the active compressed texture. Possible values:gl.TEXTURE_3D: A three-dimensional texture.gl.TEXTURE_2D_ARRAY: A two-dimensional array texture.
level-
A
GLintspecifying the level of detail. Level 0 is the base image level and level n is the n-th mipmap reduction level. xoffset-
A
GLintspecifying the x offset within the compressed texture image. yoffset-
A
GLintspecifying the y offset within the compressed texture image. zoffset-
A
GLintspecifying the z offset within the compressed texture image. width-
A
GLsizeispecifying the width of the compressed texture in texels. height-
A
GLsizeispecifying the height of the compressed texture in texels. depth-
A
GLsizeispecifying the depth of the texture/the number of textures in aTEXTURE_2D_ARRAY. format-
A
GLenumspecifying the compressed image format. For a list of possible values, seeWebGLRenderingContext.compressedTexImage2D().
The texture source can be provided in one of two ways: from an ArrayBuffer (possibly shared) using srcData, srcOffset, and srcLengthOverride; or, in WebGL 2, from gl.PIXEL_UNPACK_BUFFER using imageSize and offset.
srcData-
A
TypedArrayorDataViewcontaining the compressed texture data. srcOffsetOptional-
An integer specifying the index of
srcDatato start reading from. Defaults to0. srcLengthOverrideOptional-
An integer specifying the number of elements in
srcDatato read. Defaults tosrcData.length - srcOffset. imageSize-
A
GLsizeispecifying the size of the image data in bytes. offset-
A
GLintptrspecifying the starting address in the buffer bound togl.PIXEL_UNPACK_BUFFER.
Return value
None (undefined).
Examples
gl.compressedTexSubImage3D(
gl.TEXTURE_3D,
0,
0,
0,
512,
512,
512,
gl.COMPRESSED_R11_EAC,
textureData,
);
Specifications
| Specification |
|---|
| WebGL 2.0 Specification> # 3.7.6> |
Browser compatibility
Loading…
See also
- Using WebGL extensions
WebGLRenderingContext.getExtension()WebGLRenderingContext.compressedTexSubImage2D()WebGL2RenderingContext.compressedTexImage3D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_astcEXT_texture_compression_bptcEXT_texture_compression_rgtc