WebGL2RenderingContext: thuộc tính unpackColorSpace
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Web Workers.
Thuộc tính WebGL2RenderingContext.unpackColorSpace chỉ định không gian màu để chuyển đổi khi nhập texture. Cùng với giá trị mặc định (srgb), có thể sử dụng không gian màu display-p3.
Các nguồn hình ảnh texture có thể là:
ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElementOffscreenCanvasVideoFrame
Texture được nhập bằng các phương thức WebGLRenderingContext.texImage2D() và WebGLRenderingContext.texSubImage2D() và việc chuyển đổi sang không gian màu unpackColorSpace đã chỉ định xảy ra trong quá trình nhập.
Lưu ý rằng điều này không áp dụng cho HTMLImageElement khi tham số lưu trữ pixel UNPACK_COLORSPACE_CONVERSION_WEBGL được đặt thành NONE.
Giá trị
Thuộc tính này có thể có các giá trị sau:
"srgb"chọn không gian màu sRGB. Đây là giá trị mặc định."display-p3"chọn không gian màu display-p3.
Nếu một giá trị không hợp lệ được chỉ định, thì giá trị của unpackColorSpace sẽ không thay đổi.
Ví dụ
>Chuyển đổi ImageData sRGB sang display-p3 trong texture
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
gl.drawingBufferColorSpace = "display-p3";
gl.unpackColorSpace = "display-p3";
// Một số ImageData sRGB
// Sẽ được chuyển đổi từ sRGB sang 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,
);
Đặc tả kỹ thuật
| Specification |
|---|
| WebGL Specification> # DOM-WebGLRenderingContext-unpackColorSpace> |