WebGL2RenderingContext: unpackColorSpace 屬性
注意:此功能在 Web Workers 中可用。
WebGL2RenderingContext.unpackColorSpace 屬性指定了在匯入紋理時要轉換為的顏色空間。除了預設的 (srgb) 之外,還可以使用 display-p3 顏色空間。
紋理影像源可以是以下內容
ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElementOffscreenCanvasVideoFrame
紋理使用 WebGLRenderingContext.texImage2D() 和 WebGLRenderingContext.texSubImage2D() 方法匯入,並且在匯入過程中會進行到指定的 unpackColorSpace 顏色空間的轉換。
請注意,當 UNPACK_COLORSPACE_CONVERSION_WEBGL 畫素儲存引數設定為 NONE 時,這不適用於 HTMLImageElement。
值
此屬性可以具有以下值
"srgb"選擇 sRGB 顏色空間。這是預設值。"display-p3"選擇 display-p3 顏色空間。
如果指定了無效值,則 unpackColorSpace 的值將保持不變。
示例
將 sRGB ImageData 轉換為 display-p3 紋理
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
gl.drawingBufferColorSpace = "display-p3";
gl.unpackColorSpace = "display-p3";
// Some sRGB ImageData
// Will be converted from sRGB to Display P3
const imageData = new ImageData(data, 32, 32);
const tex = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, tex);
gl.texImage2D(
gl.TEXTURE_2D,
0,
gl.RGBA,
width,
height,
0,
gl.RGBA,
gl.UNSIGNED_BYTE,
imageData,
);
規範
| 規範 |
|---|
| WebGL 規範 # DOM-WebGLRenderingContext-unpackColorSpace |
瀏覽器相容性
載入中…