WebGLRenderingContext: свойство unpackColorSpace
Примечание: Эта функция доступна в Потоках Web Workers.
Свойство WebGLRenderingContext.unpackColorSpace задаёт цветовое пространство, в которое необходимо преобразовать текстуры при их импорте. Наряду со значением по умолчанию (srgb), может быть использовано цветовое пространство display-p3.
Источники изображений текстур могут быть следующими:
ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElementOffscreenCanvasVideoFrame
Текстуры импортируются с помощью методов WebGL2RenderingContext.texImage2D() и WebGL2RenderingContext.texSubImage2D(), и преобразование в указанное цветовое пространство unpackColorSpace происходит во время импорта.
Обратите внимание, что это не относится к HTMLImageElement, когда параметр хранения пикселей UNPACK_COLORSPACE_CONVERSION_WEBGL установлен в NONE.
Значение
Это свойство может принимать следующие значения:
-
"srgb"выбирает цветовое пространство sRGB. Это значение по умолчанию. -
"display-p3"выбирает цветовое пространство DCI-P3.
Если указано недопустимое значение, то значение unpackColorSpace остаётся неизменным.
Примеры
Преобразование sRGB ImageData в display-p3 в текстуре
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,
);
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
unpackColorSpace |
104 | 104 | 132 | 90 | Нет | 104 | 132 | 71 | Нет | 20.0 | 104 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/unpackColorSpace