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 bietet vier S3TC-komprimierte Texturformate an.

Komprimierte Texturen reduzieren die Menge an Speicher, die benötigt wird, um eine Textur auf der GPU zu speichern, was die Verwendung von höher aufgelösten Texturen oder mehr Texturen derselben Auflösung ermöglicht.

WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension() verfügbar. Weitere Informationen finden Sie auch unter Using Extensions im WebGL-Leitfaden.

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

Konstanten

Die komprimierten Texturformate werden durch vier Konstanten bereitgestellt 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-Komprimierung.

ext.COMPRESSED_RGBA_S3TC_DXT5_EXT

Ein DXT5-komprimiertes Bild im RGBA-Bildformat. Es bietet ebenfalls eine 4:1-Komprimierung, unterscheidet sich jedoch in der Art der Alpha-Komprimierung von der DXT3-Komprimierung.

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
WEBGL_compressed_texture_s3tc

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Requires a vendor prefix or different name for use.
Has more compatibility info.

Siehe auch