WEBGL_compressed_texture_s3tc_srgb 擴充套件

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

WEBGL_compressed_texture_s3tc_srgb 擴充套件是 WebGL API 的一部分,它公開了用於 sRGB 顏色空間的四種 S3TC 壓縮紋理格式

壓縮紋理可減少 GPU 儲存紋理所需的記憶體量,從而允許使用更高解析度的紋理或更多相同解析度的紋理。

可以使用 WebGLRenderingContext.getExtension() 方法來訪問 WebGL 擴充套件。有關更多資訊,請參閱 WebGL 教程中的 使用擴充套件

注意: 此擴充套件支援 WebGL1WebGL2 上下文。

常量

壓縮紋理格式由四個常量公開,並可用於兩個函式:compressedTexImage2D()compressedTexSubImage2D()

ext.COMPRESSED_SRGB_S3TC_DXT1_EXT

sRGB 影像格式的 DXT1 壓縮影像。

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT

具有開關式 alpha 值的 sRGB 影像格式的 DXT1 壓縮影像。

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT

sRGBA 格式的 DXT3 壓縮影像。

ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT

sRGBA 格式的 DXT5 壓縮影像。

示例

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);

規範

規範
WebGL WEBGL_compressed_texture_s3tc_srgb 擴充套件規範

瀏覽器相容性

另見