EXT_texture_compression_bptc 扩展
EXT_texture_compression_bptc
扩展是 WebGL API 的一部分,它公开了 4 种 BPTC 压缩纹理格式。这些压缩格式在 Microsoft 的 DirectX API 中被称为 BC7 和 BC6H。
可以使用 WebGLRenderingContext.getExtension()
方法获得 WebGL 扩展。有关更多信息,请参阅 使用扩展,它位于 WebGL 教程 中。
常量
压缩纹理格式由 4 个常量公开,可用于两个函数:compressedTexImage2D()
和 compressedTexSubImage2D()
。
ext.COMPRESSED_RGBA_BPTC_UNORM_EXT
-
压缩 8 位定点数据。每个 4x4 的纹素块包含 128 位的 RGBA 或图像数据。另请参阅 BC7 格式。
ext.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT
-
压缩 8 位定点数据。每个 4x4 的纹素块包含 128 位的 SRGB_ALPHA 或图像数据。另请参阅 BC7 格式。
ext.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT
-
压缩高动态范围有符号浮点数。每个 4x4 的纹素块包含 128 位的 RGB 数据。它只包含 RGB 数据,因此返回的 alpha 值为 1.0。另请参阅 BC6H 格式。
ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT
-
压缩高动态范围无符号浮点数。每个 4x4 的纹素块包含 128 位的 RGB 数据。它只包含 RGB 数据,因此返回的 alpha 值为 1.0。另请参阅 BC6H 格式。
示例
js
const ext = gl.getExtension("EXT_texture_compression_bptc");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.compressedTexImage2D(
gl.TEXTURE_2D,
0,
ext.COMPRESSED_RGBA_BPTC_UNORM_EXT,
128,
128,
0,
textureData,
);
规范
规范 |
---|
WebGL EXT_texture_compression_bptc 扩展规范 |
浏览器兼容性
BCD 表只在浏览器中加载