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
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