Spec-Zone.ru › Web APIs

WebGLRenderingContext: свойство unpackColorSpace

Примечание: Эта функция доступна в Потоках Web Workers.

Свойство WebGLRenderingContext.unpackColorSpace задаёт цветовое пространство, в которое необходимо преобразовать текстуры при их импорте. Наряду со значением по умолчанию (srgb), может быть использовано цветовое пространство display-p3.

Источники изображений текстур могут быть следующими:

  • ImageBitmap
  • ImageData
  • HTMLImageElement
  • HTMLCanvasElement
  • HTMLVideoElement
  • OffscreenCanvas
  • VideoFrame

Текстуры импортируются с помощью методов 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,
);

Спецификации

Спецификация
Спецификация WebGL
# DOM-WebGLRenderingContext-unpackColorSpace

Совместимость с браузерами

Рабочий стол Мобильные устройства
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

См. также

  • WebGLRenderingContext.drawingBufferColorSpace

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API