WEBGL_compressed_texture_pvrtc
Расширение WEBGL_compressed_texture_pvrtc часть WebGL API и представляет четыре сжатых формата текстур PVRTC.
Сжатые текстуры уменьшают количество памяти, используемые в GPU для хранения, позволяя большее разрешение для текстур или большее количество текстур с одинаковым разрешением.
WebGL расширения доступны через метод WebGLRenderingContext.getExtension() (en-US). Для подробностей смотри также Использование расширений (en-US) в туториале по WebGL.
Примечание: Обычно PVRTC доступен только на мобильных устройствах с чипсетом PowerVR. Используется во всех поколениях iPhone, iPod Touch и iPad и поддерживается на определённых Android устройствах, использующих PowerVR GPU.
Версии контекста, поддерживающие расширение: WebGL1 , и WebGL2 (en-US).
Константы
Форматы сжатых текстур представлены четырьмя константами и могут быть использованы в двух функциях:
compressedTexImage2D() (en-US) — параметры высота и ширина должны соответствовать степени 2
compressedTexSubImage2D() (en-US) — параметры высоты и ширины должны быть равны размеру текстуры, а значения параметров 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 пикселей.
Примеры
js
var ext = gl.getExtension('WEBGL_compressed_texture_pvrtc');
var 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);
Спецификации
| Specification |
|---|
| WebGL WEBGL_compressed_texture_pvrtc Extension Specification |
Браузерная совместимость
BCD tables only load in the browser