Spec-Zone.ru › Web APIs

Расширение 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,
);

Спецификации

Спецификация
Спецификация расширения WebGL WEBGL_compressed_texture_pvrtc

Совместимость с браузерами

Рабочий стол Мобильные устройства
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

См. также

  • Сжатие текстур PVRTC – Википедия
  • WebGLRenderingContext.getExtension()
  • WebGLRenderingContext.compressedTexImage2D()
  • WebGLRenderingContext.compressedTexSubImage2D()
  • WebGLRenderingContext.getParameter()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API