This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The WebGL2RenderingContext.compressedTexImage3D()
method of the WebGL API specifies a three-dimensional texture image in a compressed format.
Syntax
void gl.compressedTexImage3D(target, level, internalformat, width, height, depth, border, offset); void gl.compressedTexImage3D(target, level, internalformat, width, height, depth, border, ArrayBufferView srcData, optional srcOffset, optional srcLengthOverride);
Parameters
target
- A
GLenum
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.
level
- A
GLint
specifying the level of detail. Level 0 is the base image level and level n is the nth mipmap reduction level. internalformat
- A
GLenum
specifying the compressed image format. Possible values:gl.COMPRESSED_R11_EAC
gl.COMPRESSED_SIGNED_R11_EAC
gl.COMPRESSED_RG11_EAC
gl.COMPRESSED_SIGNED_RG11_EAC
gl.COMPRESSED_RGB8_ETC2
gl.COMPRESSED_RGBA8_ETC2_EAC
gl.COMPRESSED_SRGB8_ETC2
gl.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
gl.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
gl.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
width
- A
GLsizei
specifying the width of the texture. height
- A
GLsizei
specifying the height of the texture. depth
- A
GLsizei
specifying the depth of the texture. border
- A
GLint
specifying the width of the border. Must be 0. srcData
- A
ArrayBufferView
that be used as a data store for the compressed image data in memory.
Return value
None.
Examples
gl.compressedTexImage3D(gl.TEXTURE_3D, 0, gl.COMPRESSED_R11_EAC, 512, 512, 512, 0, textureData);
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 2.0 The definition of 'compressedTexImage3D' in that specification. |
Editor's Draft | Initial definition for WebGL. |
OpenGL ES 3.0 The definition of 'glCompressedTexImage3D' in that specification. |
Standard | Man page of the (similar) OpenGL ES 3.0 API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 56 | No | 51 | No | 43 | No |
SharedArrayBuffer as a parameter | 60 | ? | ? | ? | 47 | ? |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | 58 | 58 | No | 51 | No | 43 | No |
SharedArrayBuffer as a parameter | 60 | 60 | ? | ? | ? | 47 | ? |