WebGLRenderingContext: unpackColorSpace-Eigenschaft

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die WebGLRenderingContext.unpackColorSpace-Eigenschaft gibt den Farbraum an, in den umgewandelt werden soll, wenn Texturen importiert werden. Neben dem Standardwert (srgb) kann auch der display-p3-Farbraum verwendet werden.

Quellen für Texturbilder können folgende sein:

Texturen werden mit den Methoden WebGL2RenderingContext.texImage2D() und WebGL2RenderingContext.texSubImage2D() importiert, und die Umwandlung in den angegebenen unpackColorSpace-Farbraum erfolgt während des Imports.

Beachten Sie, dass dies nicht für HTMLImageElement gilt, wenn der UNPACK_COLORSPACE_CONVERSION_WEBGL-Pixel-Speicherparameter auf NONE gesetzt ist.

Wert

Diese Eigenschaft kann folgende Werte haben:

Wenn ein ungültiger Wert angegeben wird, bleibt der Wert von unpackColorSpace unverändert.

Beispiele

Konvertieren von sRGB ImageData zu display-p3 in einer Textur

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,
);

Spezifikationen

Specification
WebGL Specification
# DOM-WebGLRenderingContext-unpackColorSpace

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch