WebGL2RenderingContext: unpackColorSpace-Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die WebGL2RenderingContext.unpackColorSpace
-Eigenschaft legt den Farbraum fest, zu dem beim Import von Texturen konvertiert werden soll. Neben dem Standard-(srgb
) kann auch der display-p3
-Farbraum verwendet werden.
Textur-Bildquellen können folgende sein:
ImageBitmap
ImageData
HTMLImageElement
HTMLCanvasElement
HTMLVideoElement
OffscreenCanvas
VideoFrame
Texturen werden mithilfe der Methoden WebGLRenderingContext.texImage2D()
und WebGLRenderingContext.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:
"srgb"
wählt den sRGB-Farbraum. Dies ist der Standardwert."display-p3"
wählt den display-p3-Farbraum.
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
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