WEBGL_compressed_texture_s3tc_srgb Erweiterung

Die WEBGL_compressed_texture_s3tc_srgb Erweiterung ist Teil der WebGL API und bietet vier S3TC-komprimierte Texturformate für den sRGB-Farbraum.

Komprimierte Texturen reduzieren den Speicherbedarf auf der GPU, was die Verwendung von Texturen mit höherer Auflösung oder eine größere Anzahl von Texturen mit 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 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 bereitgestellt und können in zwei Funktionen verwendet werden: compressedTexImage2D() und compressedTexSubImage2D().

ext.COMPRESSED_SRGB_S3TC_DXT1_EXT

Ein DXT1-komprimiertes Bild im sRGB-Bildformat.

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT

Ein DXT1-komprimiertes Bild im sRGB-Bildformat mit einem einfachen Ein-/Aus-Alpha-Wert.

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT

Ein DXT3-komprimiertes Bild im sRGBA-Bildformat.

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT

Ein DXT5-komprimiertes Bild im sRGBA-Bildformat.

Beispiele

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

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

gl.compressedTexImage2D(
  gl.TEXTURE_2D,
  0,
  ext.COMPRESSED_SRGB_S3TC_DXT1_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_srgb Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch