EXT_texture_compression_rgtc 扩展

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

EXT_texture_compression_rgtc 扩展是 WebGL API 的一部分,公开了 4 种 RGTC 压缩纹理格式。RGTC 是一种基于块的纹理压缩格式,适用于无符号和有符号的红色和红绿纹理(Red-Green Texture Compression)。

可以使用 WebGLRenderingContext.getExtension() 方法来访问 WebGL 扩展。有关更多信息,请参阅 WebGL 教程中的 使用扩展

注意:支持情况取决于系统的图形驱动程序。Windows 系统不支持。

此扩展同时适用于 WebGL1WebGL2 上下文。

常量

压缩纹理格式由 4 个常量公开,并可在两个函数中使用:compressedTexImage2D()compressedTexSubImage2D()

ext.COMPRESSED_RED_RGTC1_EXT

每个 4x4 纹素块包含 64 位无符号红色图像数据。另请参阅 BC4 无符号

ext.COMPRESSED_SIGNED_RED_RGTC1_EXT

每个 4x4 纹素块包含 64 位有符号红色图像数据。另请参阅 BC4 有符号

ext.COMPRESSED_RED_GREEN_RGTC2_EXT

每个 4x4 纹素块包含 64 位压缩无符号红色图像数据,后跟 64 位压缩无符号绿色图像数据。另请参阅 BC5 无符号

ext.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT

每个 4x4 纹素块包含 64 位压缩有符号红色图像数据,后跟 64 位压缩有符号绿色图像数据。另请参阅 BC5 有符号

示例

js
const ext = gl.getExtension("EXT_texture_compression_rgtc");

const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);

gl.compressedTexImage2D(
  gl.TEXTURE_2D,
  0,
  ext.COMPRESSED_RED_RGTC1_EXT,
  128,
  128,
  0,
  textureData,
);

规范

规范
WebGL EXT_texture_compression_rgtc 扩展规范

浏览器兼容性

另见