The WebGLRenderingContext.compressedTexSubImage2D() method of the WebGL API specifies a two-dimensional sub-rectangle for a texture image in a compressed format.
Compressed image formats must be enabled by WebGL extensions before using this method or a WebGL2RenderingContext must be used.
// WebGL 1: void gl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, ArrayBufferView? pixels); // Additionally available in WebGL 2: void gl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, offset); void gl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, ArrayBufferView srcData, optional srcOffset, optional srcLengthOverride);
targetGLenum specifying the binding point (target) of the active compressed 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.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 horizontal offset within the compressed texture image.yoffsetGLint specifying the vertical offset within the compressed texture image.widthGLsizei specifying the width of the compressed texture.heightGLsizei specifying the height of the compressed texture.formatGLenum specifying the compressed image format. Compressed image formats must be enabled by WebGL extensions before using this method. Possible values: WEBGL_compressed_texture_s3tc extension: ext.COMPRESSED_RGB_S3TC_DXT1_EXText.COMPRESSED_RGBA_S3TC_DXT1_EXText.COMPRESSED_RGBA_S3TC_DXT3_EXText.COMPRESSED_RGBA_S3TC_DXT5_EXTWEBGL_compressed_texture_etc extension: ext.COMPRESSED_R11_EACext.COMPRESSED_SIGNED_R11_EACext.COMPRESSED_RG11_EACext.COMPRESSED_SIGNED_RG11_EACext.COMPRESSED_RGB8_ETC2ext.COMPRESSED_RGBA8_ETC2_EACext.COMPRESSED_SRGB8_ETC2ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EACext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2WEBGL_compressed_texture_pvrtc extension: ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMGext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMGext.COMPRESSED_RGB_PVRTC_2BPPV1_IMGext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMGWEBGL_compressed_texture_atc extension: ext.COMPRESSED_RGB_ATC_WEBGLext.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGLext.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGLpixelsArrayBufferView that be used as a data store for the compressed image data in memory.None.
var ext = (
gl.getExtension('WEBGL_compressed_texture_s3tc') ||
gl.getExtension('MOZ_WEBGL_compressed_texture_s3tc') ||
gl.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc')
);
gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 256, 256, 512, 512, ext.COMPRESSED_RGBA_S3TC_DXT5_EXT, textureData);
| Specification | Status | Comment |
|---|---|---|
| WebGL 1.0 The definition of 'compressedTexSubImage2D' in that specification. | Recommendation | Initial definition for WebGL. |
| OpenGL ES 2.0 The definition of 'glCompressedTexSubImage2D' in that specification. | Standard | Man page of the (similar) OpenGL ES 2.0 API. |
| OpenGL ES 3.0 The definition of 'glCompressedTexSubImage2D' in that specification. | Standard | Man page of the (similar) OpenGL ES 3.0 API. |
| Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Servo |
|---|---|---|---|---|---|---|---|
| Basic Support | 9 | 12 | 4.0 | 11 | 12 | 5.1 | No support |
| WebGL2 | 56 | No support | 51.0 | No support | 43 | No support | No support |
| Feature | Android | Chrome for Android | Edge Mobile | Firefox for Android | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic Support | (Yes) | 25 | (Yes) | 4.0 | 11 | 12 | 8.1 |
| WebGL2 | No support | No support | (Yes) | 51.0 | No support | No support | No support |
WebGLRenderingContext.getExtension()WebGLRenderingContext.compressedTexImage2D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_atc
© 2005–2017 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/WebGLRenderingContext/compressedTexSubImage2D