GPUTexture
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die GPUTexture
Schnittstelle der WebGPU API repräsentiert einen Container, der zur Speicherung von 1D-, 2D- oder 3D-Datenarrays, wie z.B. Bildern, verwendet wird, um sie in GPU-Rendering-Operationen zu nutzen.
Eine GPUTexture
Objektinstanz wird mithilfe der Methode GPUDevice.createTexture()
erstellt.
Instanz-Eigenschaften
depthOrArrayLayers
Experimentell Nur lesbar-
Eine Zahl, die die Tiefe oder die Anzahl der Schichten der
GPUTexture
angibt (Pixel oder Anzahl der Schichten). dimension
Experimentell Nur lesbar-
Ein enumerierter Wert, der die Dimension des Texel-Sets für jede
GPUTexture
-Subressource darstellt. format
Experimentell Nur lesbar-
Ein enumerierter Wert, der das Format der
GPUTexture
darstellt. Siehe den Abschnitt Texture formats der Spezifikation für alle möglichen Werte. height
Experimentell Nur lesbar-
Eine Zahl, die die Höhe der
GPUTexture
in Pixeln angibt. label
Experimentell-
Ein String, der ein Label bereitstellt, das zur Identifikation des Objekts verwendet werden kann, beispielsweise in
GPUError
-Meldungen oder Konsolenwarnungen. mipLevelCount
Experimentell Nur lesbar-
Eine Zahl, die die Anzahl der Mip-Level der
GPUTexture
darstellt. sampleCount
Experimentell Nur lesbar-
Eine Zahl, die die Probenanzahl der
GPUTexture
darstellt. usage
Experimentell Nur lesbar-
Die bitwise flags, die die erlaubten Verwendungen der
GPUTexture
darstellen. width
Experimentell Nur lesbar-
Eine Zahl, die die Breite der
GPUTexture
in Pixeln angibt.
Instanz-Methoden
createView()
Experimentell-
Erstellt eine
GPUTextureView
, die eine spezifische Ansicht derGPUTexture
darstellt. destroy()
Experimentell-
Zerstört die
GPUTexture
.
Beispiele
Im WebGPU-Beispiel Textured Cube sample wird eine Textur für die Flächen eines Würfels erstellt durch:
- Laden des Bildes in ein
HTMLImageElement
und Erstellen eines Bild-Bitmaps mitcreateImageBitmap()
. - Erstellen einer neuen
GPUTexture
mitcreateTexture()
. - Kopieren des Bild-Bitmaps in die Textur mit
GPUQueue.copyExternalImageToTexture()
.
//...
let cubeTexture;
{
const img = document.createElement("img");
img.src = new URL(
"../../../assets/img/Di-3d.png",
import.meta.url,
).toString();
await img.decode();
const imageBitmap = await createImageBitmap(img);
cubeTexture = device.createTexture({
size: [imageBitmap.width, imageBitmap.height, 1],
format: "rgba8unorm",
usage:
GPUTextureUsage.TEXTURE_BINDING |
GPUTextureUsage.COPY_DST |
GPUTextureUsage.RENDER_ATTACHMENT,
});
device.queue.copyExternalImageToTexture(
{ source: imageBitmap },
{ texture: cubeTexture },
[imageBitmap.width, imageBitmap.height],
);
}
//...
Spezifikationen
Specification |
---|
WebGPU # texture-interface |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Die WebGPU API