WebGLTexture
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLTexture-Schnittstelle ist Teil der WebGL API und repräsentiert ein undurchsichtiges Texturobjekt, das Speicher und Zustand für Texturoperationen bereitstellt.
WebGL-Texturen
Das WebGLTexture-Objekt definiert keine eigenen Methoden oder Eigenschaften, und sein Inhalt ist nicht direkt zugänglich. Beim Arbeiten mit WebGLTexture-Objekten sind die folgenden Methoden des WebGLRenderingContext nützlich:
WebGLRenderingContext.bindTexture()WebGLRenderingContext.createTexture()WebGLRenderingContext.deleteTexture()WebGLRenderingContext.isTexture()
Siehe auch das WebGL-Tutorial zur Verwendung von Texturen in WebGL.
WebXR undurchsichtige Texturen
Beim Verwenden von WebXR-Layern gibt das XRWebGLBinding-Objekt Instanzen einer undurchsichtigen WebGLTexture für die Farb- und Tiefen/Stencil-Anhänge zurück.
WebXR-Methoden, die undurchsichtige WebGLTexture-Objekte zurückgeben:
Die WebXR undurchsichtige Textur ist identisch mit der Standard-WebGLTexture mit folgenden Ausnahmen:
- Eine WebXR undurchsichtige Textur ist außerhalb eines WebXR-
requestAnimationFrame()-Callbacks für ihre Sitzung ungültig. - Eine WebXR undurchsichtige Textur ist ungültig, bis sie von
XRWebGLBinding.getSubImage()oderXRWebGLBinding.getViewSubImage()zurückgegeben wird. - Eine WebXR undurchsichtige Textur für den Farb-Anhang enthält Farben mit prämultipliziertem Alpha.
- Am Ende eines
requestAnimationFrame()-Callbacks ist eine WebXR undurchsichtige Textur nicht gebunden und von allenWebGLShader-Objekten getrennt. - Eine WebXR undurchsichtige Textur verhält sich so, als wäre sie mit
texStorage2DodertexStorage3Dzugewiesen worden, je nach Bedarf, selbst wenn ein WebGL 1.0-Kontext verwendet wird. - Wenn bei einer WebXR undurchsichtigen Textur
WebGLRenderingContext.deleteTexture()aufgerufen wird, wird einINVALID_OPERATION-Fehler ausgelöst. - Änderungen an Dimension oder Format einer WebXR undurchsichtigen Textur sind nicht erlaubt. GL-Funktionen dürfen nur die Texelwerte und Texturparameter ändern.
Beispiele
>Erstellen einer Textur
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();
Spezifikationen
| Specification |
|---|
| WebGL Specification> # 5.9> |
Browser-Kompatibilität
Loading…
Siehe auch
WebGLRenderingContext.bindTexture()WebGLRenderingContext.createTexture()WebGLRenderingContext.deleteTexture()WebGLRenderingContext.isTexture()WebGLRenderingContext.compressedTexImage2D()WebGLRenderingContext.compressedTexSubImage2D()WebGLRenderingContext.copyTexImage2D()WebGLRenderingContext.copyTexSubImage2D()WebGLRenderingContext.generateMipmap()WebGLRenderingContext.getTexParameter()WebGLRenderingContext.texImage2D()WebGLRenderingContext.texSubImage2D()WebGLRenderingContext.texParameterf()WebGLRenderingContext.texParameteri()