EXT_sRGB 擴充套件

Baseline 已廣泛支援

此功能已廣泛建立,並可在多種裝置和瀏覽器版本中使用。自 ⁨2020 年 2 月⁩ 起,瀏覽器均已支援該功能。

EXT_sRGB 擴充套件是 WebGL API 的一部分,為紋理和幀緩衝物件添加了 sRGB 支援。

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

注意:此擴充套件僅對 WebGL1 上下文可用。在 WebGL2 中,此擴充套件的功能預設在 WebGL2 上下文中可用。WebGL2 中的常量是:gl.SRGBgl.SRGB8gl.SRGB8_ALPHA8gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING

常量

此擴充套件公開了以下常量,可在 texImage2D()texSubImage2D()renderbufferStorage()getFramebufferAttachmentParameter() 方法中使用。

ext.SRGB_EXT

未指定大小的 sRGB 格式,其精度由驅動程式決定。

ext.SRGB_ALPHA_EXT

未指定大小的 sRGB 格式,帶有未指定大小的 alpha 分量。

ext.SRGB8_ALPHA8_EXT

指定大小(8 位)的 sRGB 和 alpha 格式。

ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT

返回幀緩衝區的顏色編碼(gl.LINEARext.SRGB_EXT)。

示例

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

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

gl.texImage2D(
  gl.TEXTURE_2D,
  0,
  ext.SRGB_EXT,
  512,
  512,
  0,
  ext.SRGB_EXT,
  gl.UNSIGNED_BYTE,
  image,
);

規範

規範
WebGL EXT_sRGB 擴充套件規範

瀏覽器相容性

另見