Расширение EXT_texture_compression_bptc
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Расширение EXT_texture_compression_bptc является частью WebGL API и предоставляет 4 формата сжатия текстур BPTC. Эти форматы сжатия называются BC7 и BC6H в API Microsoft DirectX.
Расширения WebGL доступны с помощью метода WebGLRenderingContext.getExtension(). Дополнительную информацию можно найти также в разделе Использование расширений в учебнике 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, поэтому возвращаемое значение альфа равно 1,0. См. также формат BC6H.
ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT-
Сжимает значения с плавающей запятой без знака с высоким динамическим диапазоном. Каждый 4x4 блок текселей состоит из 128 бит данных RGB. Он содержит только данные RGB, поэтому возвращаемое значение альфа равно 1,0. См. также формат BC6H.
Примеры
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,
);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
EXT_texture_compression_bptc |
9392–93Поддерживается только на macOS. |
9392–93Поддерживается только на macOS. |
68 | 7978–79Поддерживается только на macOS. |
16 | 92 | Нет | 65 | Нет | Нет | 92 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EXT_texture_compression_bptc