WEBGL_compressed_texture_pvrtc Erweiterung

Die WEBGL_compressed_texture_pvrtc Erweiterung ist Teil der WebGL API und bietet Zugriff auf vier PVRTC komprimierte Texturformate.

Komprimierte Texturen reduzieren die Speichermenge, die benötigt wird, um eine Textur auf der GPU zu speichern. Dadurch können Texturen mit höherer Auflösung oder mehr Texturen mit derselben Auflösung verwendet werden.

WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension() verfügbar. Für weitere Informationen siehe auch Verwendung von Erweiterungen im WebGL Leitfaden.

Hinweis: PVRTC ist typischerweise nur auf mobilen Geräten mit PowerVR-Chipsätzen verfügbar. Es wird in allen Generationen des iPhone, iPod Touch und iPad verwendet und unterstützt bestimmte Android-Geräte, die eine PowerVR-GPU verwenden.

Diese Erweiterung ist sowohl für WebGL1- als auch WebGL2-Kontexte verfügbar.

Hinweis: Auf iOS-Geräten wird diese Erweiterung WEBKIT_WEBGL_compressed_texture_pvrtc genannt.

Konstanten

Die komprimierten Texturformate werden durch vier Konstanten bereitgestellt und können in zwei Funktionen verwendet werden: compressedTexImage2D() (bei der die Parameter height und width Potenzen von 2 sein müssen) und compressedTexSubImage2D() (bei der die Höhe und Breite den aktuellen Werten der vorhandenen Textur entsprechen und die Parameter xoffset und yoffset 0 sein müssen).

ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG

RGB-Kompression im 4-Bit-Modus. Ein Block für jeweils 4×4 Pixel.

ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG

RGBA-Kompression im 4-Bit-Modus. Ein Block für jeweils 4×4 Pixel.

ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG

RGB-Kompression im 2-Bit-Modus. Ein Block für jeweils 8×4 Pixel.

ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG

RGBA-Kompression im 2-Bit-Modus. Ein Block für jeweils 8×4 Pixel.

Beispiele

js
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,
);

Spezifikationen

Specification
WebGL WEBGL_compressed_texture_pvrtc Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch