WEBGL_compressed_texture_s3tc_srgb 扩展
WEBGL_compressed_texture_s3tc_srgb
扩展是 WebGL API 的一部分,它公开了四种用于 sRGB 色彩空间的 S3TC 压缩纹理格式。
压缩纹理减少了在 GPU 上存储纹理所需的内存量,从而可以实现更高分辨率的纹理或更多相同分辨率的纹理。
可以使用 WebGLRenderingContext.getExtension()
方法获得 WebGL 扩展。有关更多信息,请参阅 使用扩展(位于 WebGL 教程 中)。
常量
压缩纹理格式由四个常量公开,可以在两个函数中使用:compressedTexImage2D()
和 compressedTexSubImage2D()
。
ext.COMPRESSED_SRGB_S3TC_DXT1_EXT
-
sRGB 图像格式中的 DXT1 压缩图像。
ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
-
sRGB 图像格式中带有简单的开/关 alpha 值的 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 扩展规范 |
浏览器兼容性
BCD 表格仅在浏览器中加载