EXT_texture_compression_bptc Erweiterung

Die EXT_texture_compression_bptc-Erweiterung ist Teil der WebGL API und stellt 4 BPTC-komprimierte Texturformate bereit. Diese Kompressionsformate werden in Microsofts DirectX API als BC7 und BC6H bezeichnet.

WebGL-Erweiterungen sind mittels der Methode WebGLRenderingContext.getExtension() verfügbar. Weitere Informationen finden Sie unter Erweiterungen verwenden im WebGL-Leitfaden.

Hinweis: Die Unterstützung hängt vom Grafiktreiber des Systems ab. Es gibt keine Unterstützung unter Windows.

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

Konstanten

Die komprimierten Texturformate werden durch 4 Konstanten bereitgestellt und können in zwei Funktionen verwendet werden: compressedTexImage2D() und compressedTexSubImage2D().

ext.COMPRESSED_RGBA_BPTC_UNORM_EXT

Komprimiert 8-Bit-Festwertdaten. Jeder 4x4-Block von Texeln besteht aus 128 Bits von RGBA- oder Bilddaten. Siehe auch BC7-Format.

ext.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT

Komprimiert 8-Bit-Festwertdaten. Jeder 4x4-Block von Texeln besteht aus 128 Bits von SRGB_ALPHA- oder Bilddaten. Siehe auch BC7-Format.

ext.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT

Komprimiert hochdynamische Bereichswerte mit Vorzeichen und Gleitkommazahlen. Jeder 4x4-Block von Texeln besteht aus 128 Bits von RGB-Daten. Es enthält nur RGB-Daten, sodass der zurückgegebene Alphawert 1.0 ist. Siehe auch BC6H-Format.

ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT

Komprimiert hochdynamische Bereichswerte ohne Vorzeichen und Gleitkommazahlen. Jeder 4x4-Block von Texeln besteht aus 128 Bits von RGB-Daten. Es enthält nur RGB-Daten, sodass der zurückgegebene Alphawert 1.0 ist. Siehe auch BC6H-Format.

Beispiele

js
const ext = gl.getExtension("EXT_texture_compression_bptc");

const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);

gl.compressedTexImage2D(
  gl.TEXTURE_2D,
  0,
  ext.COMPRESSED_RGBA_BPTC_UNORM_EXT,
  128,
  128,
  0,
  textureData,
);

Spezifikationen

Specification
WebGL EXT_texture_compression_bptc Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch