WEBGL_compressed_texture_atc WebGL working group (public_webgl 'at' khronos.org) Members of the WebGL working group 12

This extension exposes the compressed texture formats defined in the AMD_compressed_ATC_texture OpenGL extension to WebGL.

Compression formats COMPRESSED_RGB_ATC_WEBGL, COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL, and COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL may be passed to the compressedTexImage2D and compressedTexSubImage2D entry points. These formats correspond to the 3 formats defined in the AMD_compressed_ATC_texture OpenGL extension. Although the enum names are changed, their numeric values are the same. The correspondence is given by this table:
WebGL format enum OpenGL format enum Numeric value
COMPRESSED_RGB_ATC_WEBGL ATC_RGB_AMD 0x8C92
COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
Calling getParameter with the argument COMPRESSED_TEXTURE_FORMATS will include the 3 formats from this specification.

The following format-specific restrictions must be enforced:

COMPRESSED_RGB_ATC_WEBGL

The byteLength of the ArrayBufferView, pixels, passed to compressedTexImage2D, must be equal to the following number of bytes:

floor((width + 3) / 4) * floor((height + 3) / 4) * 8

If it is not, an INVALID_VALUE error is generated.

COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL

The byteLength of the ArrayBufferView, pixels, passed to compressedTexImage2D, must be equal to the following number of bytes:

floor((width + 3) / 4) * floor((height + 3) / 4) * 16

If it is not, an INVALID_VALUE error is generated.

[NoInterfaceObject] interface WEBGL_compressed_texture_atc { /* Compressed Texture Formats */ const GLenum COMPRESSED_RGB_ATC_WEBGL = 0x8C92; const GLenum COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 0x8C93; const GLenum COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 0x87EE; }; Initial revision. Clarified that length of ArrayBufferView is actually byteLength. Removed reference to compressedTexSubImage2D. This format can only be used with compressedTexImage2D. Moved to community approved after discussion on public_webgl list. Added NoInterfaceObject extended attribute. Moved to rejected status at Khronos Montreal face-to-face meeting.