Расширение WEBGL_compressed_texture_pvrtc
Ограниченная доступность
Эта функция не является базовой, так как не работает в некоторых из наиболее широко используемых браузеров.
Расширение WEBGL_compressed_texture_pvrtc является частью WebGL API и предоставляет четыре сжатых формата текстур PVRTC.
Сжатые текстуры уменьшают объем памяти, необходимой для хранения текстуры на графическом процессоре, что позволяет использовать текстуры более высокого разрешения или большее количество текстур того же разрешения.
Расширения WebGL доступны с помощью метода WebGLRenderingContext.getExtension(). Дополнительную информацию можно найти также в разделе Использование расширений в учебнике WebGL.
Примечание: PVRTC обычно доступен только на мобильных устройствах с процессорами PowerVR. Он используется во всех поколениях iPhone, iPod Touch и iPad и поддерживается на определенных устройствах Android, использующих графический процессор PowerVR.
Это расширение доступно как для контекстов WebGL1, так и для WebGL2.
Примечание: На устройствах iOS это расширение называется WEBKIT_WEBGL_compressed_texture_pvrtc.
Постоянные значения
Сжатые форматы текстур представлены четырьмя константами и могут использоваться в двух функциях: compressedTexImage2D() (где параметры height и width должны быть степенями двойки) и compressedTexSubImage2D() (где высота и ширина должны быть равны текущим значениям существующей текстуры, а параметры xoffset и yoffset должны быть 0).
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG-
Сжатие RGB в 4-битном режиме. Один блок на каждые 4×4 пикселей.
ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG-
Сжатие RGBA в 4-битном режиме. Один блок на каждые 4×4 пикселей.
ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG-
Сжатие RGB в 2-битном режиме. Один блок на каждые 8×4 пикселей.
ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG-
Сжатие RGBA в 2-битном режиме. Один блок на каждые 8×4 пикселей.
Примеры
const ext = gl.getExtension("WEBGL_compressed_texture_pvrtc");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.compressedTexImage2D(
gl.TEXTURE_2D,
0,
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
512,
512,
0,
textureData,
);
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
WEBGL_compressed_texture_pvrtc |
128 | 128 | Нет | 114 | 7 | 28 | Нет | 15 | 7 | 1.5 | 4.4 |
См. также
© 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/WEBGL_compressed_texture_pvrtc