files/en-us/web/api/ext_srgb/index.md
{{APIRef("WebGL")}}
The EXT_sRGB extension is part of the WebGL API and adds sRGB support to textures and framebuffer objects.
WebGL extensions are available using the {{domxref("WebGLRenderingContext.getExtension()")}} method. For more information, see also Using Extensions in the WebGL tutorial.
[!NOTE] This extension is only available to {{domxref("WebGLRenderingContext", "WebGL1", "", 1)}} contexts. In {{domxref("WebGL2RenderingContext", "WebGL2", "", 1)}}, the functionality of this extension is available on the WebGL2 context by default. The constants in WebGL2 are:
gl.SRGB,gl.SRGB8,gl.SRGB8_ALPHA8andgl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING.
This extension exposes the following constants, which can be used in the {{domxref("WebGLRenderingContext.texImage2D()", "texImage2D()")}}, {{domxref("WebGLRenderingContext.texSubImage2D()", "texSubImage2D()")}}, {{domxref("WebGLRenderingContext.renderbufferStorage()", "renderbufferStorage()")}} and {{domxref("WebGLRenderingContext.getFramebufferAttachmentParameter()", "getFramebufferAttachmentParameter()")}} methods.
ext.SRGB_EXT
ext.SRGB_ALPHA_EXT
ext.SRGB8_ALPHA8_EXT
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT
gl.LINEAR or ext.SRGB_EXT).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,
);
{{Specifications}}
{{Compat}}