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

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Specification
WebGL WEBGL_compressed_texture_s3tc Khronos Ratified Extension Specification

Browser-Kompatibilität

Siehe auch