Â
WEBGL_compressed_texture_s3tc
ContactWebGL working group (public_webgl 'at' khronos.org)
ContributorsMembers of the WebGL working group
VersionLast modified date: October 24, 2019
Revision: 6
WebGL extension #8
DependenciesWritten against the WebGL API 1.0 specification.
OverviewThis extension exposes the compressed texture formats defined in the EXT_texture_compression_s3tc OpenGL extension to WebGL.
When this extension is enabled:
COMPRESSED_RGB_S3TC_DXT1_EXT
, COMPRESSED_RGBA_S3TC_DXT1_EXT
, COMPRESSED_RGBA_S3TC_DXT3_EXT
, and COMPRESSED_RGBA_S3TC_DXT5_EXT
may be passed to the compressedTexImage2D
and compressedTexSubImage2D
entry points.
Some platforms do not have native support for COMPRESSED_RGB_S3TC_DXT1_EXT
format, so WebGL implementations may map it to COMPRESSED_RGBA_S3TC_DXT1_EXT
. This means the alpha channel is not guaranteed to be opaque (0xFF); it may be transparent (0x0) in some implementations. Applications expecting maximum portability should avoid authoring and uploading textures of COMPRESSED_RGB_S3TC_DXT1_EXT
format. See the corresponding OpenGL extension for technical details about format differences.
getParameter
with the argument COMPRESSED_TEXTURE_FORMATS
will include the 4 formats from this specification.The following format specific restrictions must be enforced:
The byteLength
of the ArrayBufferView, pixels
, passed to either compressedTexImage2D
or compressedTexSubImage2D
must match the following equation:
floor((width + 3) / 4) * floor((height + 3) / 4) * 8
If it is not an INVALID_VALUE
error is generated.
width << level
and height << level
must be a multiple of 4.
If they are not an INVALID_OPERATION
error is generated.
For compressedTexSubImage2D
xoffset
and yoffset
must be a multiple of 4 and width
must be a multiple of 4 or equal to the original width of the level
. height
must be a multiple of 4 or equal to the original height of the level
. If they are not an INVALID_OPERATION
error is generated.
The byteLength
of the ArrayBufferView, pixels
, passed to either compressedTexImage2D
or compressedTexSubImage2D
must match the following equation:
floor((width + 3) / 4) * floor((height + 3) / 4) * 16
If it is not an INVALID_VALUE
error is generated.
width << level
and height << level
must be a multiple of 4.
If they are not an INVALID_OPERATION
error is generated.
For compressedTexSubImage2D
xoffset
and yoffset
must be a multiple of 4 and width
must be a multiple of 4 or equal to the original width of the level
. height
must be a multiple of 4 or equal to the original height of the level
. If they are not an INVALID_OPERATION
error is generated.
[Exposed=(Window,Worker), LegacyNoInterfaceObject] interface WEBGL_compressed_texture_s3tc { /* Compressed Texture Formats */ const GLenum COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; const GLenum COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; const GLenum COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; const GLenum COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; };Revision History
Revision 1, 2012/01/25
Revision 2, 2013/01/26
Revision 3, 2013/05/15
Revision 4, 2013/07/03
Revision 5, 2014/07/15
Revision 6, 2019/10/24
COMPRESSED_RGB_S3TC_DXT1_EXT
support.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.5