このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

WebGLRenderingContext: unpackColorSpace プロパティ

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

メモ: この機能はウェブワーカー内で利用可能です。

WebGLRenderingContext.unpackColorSpace プロパティは、テクスチャをインポートする際に変換する色空間を指定します。デフォルト値 (srgb) の他に、 display-p3 色空間も使用することができます。

テクスチャ画像のソースとしては、以下のものが利用できます。

テクスチャは WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D() メソッドを使用してインポートされ、インポート中に指定した unpackColorSpace 色空間に変換されます。

これは、 HTMLImageElement において UNPACK_COLORSPACE_CONVERSION_WEBGL 引数が NONE に設定されている場合には適用されないことに注意してください。

このプロパティは次の値を取ることができます。

無効な値が指定された場合、unpackColorSpace の値は変更されません。

テクスチャ内の sRGB ImageData を display-p3 に変換

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");

gl.drawingBufferColorSpace = "display-p3";
gl.unpackColorSpace = "display-p3";

// 一部の sRGB ImageData は、
// sRGB から 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 Specification
# DOM-WebGLRenderingContext-unpackColorSpace

ブラウザーの互換性

関連情報