The WebGLRenderingContext.compressedTexImage2D()
method of the WebGL API specifies a two-dimensional 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.compressedTexImage2D(target, level, internalformat, width, height, border, ArrayBufferView? pixels); // Additionally available in WebGL 2: void gl.compressedTexImage2D(target, level, internalformat, width, height, border, GLintptr offset); void gl.compressedTexImage2D(target, level, internalformat, width, height, border, ArrayBufferView srcData, optional srcOffset, optional srcLengthOverride);
target
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.level
GLint
specifying the level of detail. Level 0 is the base image level and level n is the nth mipmap reduction level.internalformat
GLenum
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_EXT
ext.COMPRESSED_RGBA_S3TC_DXT1_EXT
ext.COMPRESSED_RGBA_S3TC_DXT3_EXT
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT
WEBGL_compressed_texture_etc
extension: ext.COMPRESSED_R11_EAC
ext.COMPRESSED_SIGNED_R11_EAC
ext.COMPRESSED_RG11_EAC
ext.COMPRESSED_SIGNED_RG11_EAC
ext.COMPRESSED_RGB8_ETC2
ext.COMPRESSED_RGBA8_ETC2_EAC
ext.COMPRESSED_SRGB8_ETC2
ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
ext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
WEBGL_compressed_texture_pvrtc
extension: ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
WEBGL_compressed_texture_etc1
extension: ext.COMPRESSED_RGB_ETC1_WEBGL
WEBGL_compressed_texture_atc
extension: ext.COMPRESSED_RGB_ATC_WEBGL
ext.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL
ext.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
width
GLsizei
specifying the width of the texture.height
GLsizei
specifying the height of the texture.border
GLint
specifying the width of the border. Must be 0.pixels
ArrayBufferView
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') ); var texture = gl.createTexture(); gl.bindTexture(gl.TEXTURE_2D, texture); gl.compressedTexImage2D(gl.TEXTURE_2D, 0, ext.COMPRESSED_RGBA_S3TC_DXT5_EXT, 512, 512, 0, textureData); gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'compressedTexImage2D' in that specification. | Recommendation | Initial definition for WebGL. |
OpenGL ES 2.0 The definition of 'glCompressedTexImage2D' in that specification. | Standard | Man page of the (similar) OpenGL ES 2.0 API. |
OpenGL ES 3.0 The definition of 'glCompressedTexImage2D' 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.compressedTexSubImage2D()
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_etc
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_etc1
WEBGL_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/compressedTexImage2D