Compressed textures reduce the amount of memory needed to store a texture on the GPU, allowing for higher resolution textures or more of the same resolution textures.
One-channel (red) unsigned format compression.
One-channel (red) signed format compression.
Two-channel (red and green) unsigned format compression.
Two-channel (red and green) signed format compression.
Compresses RGB8 data with no alpha channel.
Compresses RGBA8 data. The RGB part is encoded the same as
RGB_ETC2, but the alpha part is encoded separately.
Compresses sRGB8 data with no alpha channel.
Compresses sRGBA8 data. The sRGB part is encoded the same as
SRGB_ETC2, but the alpha part is encoded separately.
RGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.
SRGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.
const ext = gl.getExtension('WEBGL_compressed_texture_etc'); const texture = gl.createTexture(); gl.bindTexture(gl.TEXTURE_2D, texture); gl.compressedTexImage2D(gl.TEXTURE_2D, 0, ext.COMPRESSED_RGBA8_ETC2_EAC, 512, 512, 0, textureData);
|WebGL WEBGL_compressed_texture_etc Extension Specification |
BCD tables only load in the browser
- This extension was named
WEBGL_compressed_texture_es3from Firefox 46 to Firefox 51 and used to be available on the WebGL 2 context by default – this is not the case anymore. You have to enable it on both, WebGL 1 and WebGL 2 contexts, in order to use it.