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.
Availability: 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.SRBG8_ALPHA8
and gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
.
Constants
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
- Unsized sRGB format that leaves the precision up to the driver.
ext.SRGB_ALPHA_EXT
- Unsized sRGB format with unsized alpha component.
ext.SRGB8_ALPHA8_EXT
- Sized (8-bit) sRGB and alpha formats.
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT
- Returns the framebuffer color encoding.
Examples
var ext = gl.getExtension("EXT_sRGB"); var texture = gl.createTexture(); gl.bindTexture(gl.TEXTURE_2D, texture); gl.texImage2D(gl.TEXTURE_2D, 0, ext.SRGB_EXT, 512, 521, 0, ext.SRGB_EXT, gl.UNSIGNED_BYTE, image);
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('EXT_sRGB', '', 'EXT_sRGB')}} | {{Spec2('EXT_sRGB')}} | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatGeckoDesktop("28.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
See also
- {{domxref("WebGLRenderingContext.getExtension()")}}
- {{domxref("WebGLRenderingContext.texImage2D()")}}
- {{domxref("WebGLRenderingContext.texSubImage2D()")}}
- {{domxref("WebGLRenderingContext.renderbufferStorage()")}}
- {{domxref("WebGLRenderingContext.getFramebufferAttachmentParameter()")}}