Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WEBGL_compressed_texture_s3tc Erweiterung

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more support for this feature? Tell us why.

Die WEBGL_compressed_texture_s3tc Erweiterung ist Teil der WebGL API und stellt vier S3TC-komprimierte Texturformate zur Verfügung.

Komprimierte Texturen reduzieren den Speicherbedarf auf der GPU, was die Speicherung von höher aufgelösten Texturen oder mehreren Texturen derselben Auflösung ermöglicht.

WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension() verfügbar. Weitere Informationen finden Sie unter Verwendung von Erweiterungen im WebGL Tutorial.

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

Konstanten

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

ext.COMPRESSED_RGB_S3TC_DXT1_EXT

Ein DXT1-komprimiertes Bild im RGB-Bildformat.

ext.COMPRESSED_RGBA_S3TC_DXT1_EXT

Ein DXT1-komprimiertes Bild im RGB-Bildformat mit einem ein/aus-Alpha-Wert.

ext.COMPRESSED_RGBA_S3TC_DXT3_EXT

Ein DXT3-komprimiertes Bild im RGBA-Bildformat. Im Vergleich zu einer 32-Bit-RGBA-Textur bietet es eine 4:1 Kompression.

ext.COMPRESSED_RGBA_S3TC_DXT5_EXT

Ein DXT5-komprimiertes Bild im RGBA-Bildformat. Es bietet ebenfalls eine 4:1 Kompression, unterscheidet sich jedoch vom DXT3-Kompressionsverfahren, wie die Alpha-Kompression durchgeführt wird.

Beispiele

js
const ext =
  gl.getExtension("WEBGL_compressed_texture_s3tc") ||
  gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") ||
  gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");

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

gl.compressedTexImage2D(
  gl.TEXTURE_2D,
  0,
  ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
  512,
  512,
  0,
  textureData,
);

gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);

Spezifikationen

Spezifikation
WebGL WEBGL_compressed_texture_s3tc Khronos Ratified Extension Specification

Browser-Kompatibilität

Siehe auch