Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
GPUTexture
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die GPUTexture-Schnittstelle der WebGPU API stellt einen Container dar, der zur Speicherung von 1D-, 2D- oder 3D-Datenarrays genutzt wird, wie beispielsweise Bilder, die in GPU-Rendering-Operationen verwendet werden.
Ein GPUTexture-Objekt wird mit der Methode GPUDevice.createTexture() erstellt.
Instanz-Eigenschaften
depthOrArrayLayersSchreibgeschützt-
Eine Zahl, die die Tiefe oder die Anzahl der Schichten der
GPUTexture(in Pixeln oder Anzahl der Schichten) darstellt. dimensionSchreibgeschützt-
Ein enumerierter Wert, der die Dimension des Satzes der Texels für jede
GPUTexture-Subressource darstellt. formatSchreibgeschützt-
Ein enumerierter Wert, der das Format der
GPUTexturedarstellt. Siehe den Abschnitt Texture formats der Spezifikation für alle möglichen Werte. Siehe auch Tier 1 and Tier 2 texture formats. heightSchreibgeschützt-
Eine Zahl, die die Höhe der
GPUTexturein Pixeln darstellt. label-
Ein String, der eine Bezeichnung bietet, um das Objekt zu identifizieren, beispielsweise in
GPUError-Nachrichten oder Konsolenwarnungen. mipLevelCountSchreibgeschützt-
Eine Zahl, die die Anzahl der Mip-Level der
GPUTexturedarstellt. sampleCountSchreibgeschützt-
Eine Zahl, die die Anzahl der Samples der
GPUTexturedarstellt. usageSchreibgeschützt-
Die bitweisen Flags, die die erlaubten Nutzungen der
GPUTexturedarstellen. widthSchreibgeschützt-
Eine Zahl, die die Breite der
GPUTexturein Pixeln darstellt.
Instanz-Methoden
createView()-
Erstellt eine
GPUTextureView, die eine spezifische Ansicht derGPUTexturedarstellt. destroy()-
Zerstört die
GPUTexture.
Beispiele
Im WebGPU-Beispiel Textured Cube sample wird eine Textur erstellt, die auf den Seiten eines Würfels verwendet wird, indem:
- Das Bild in ein
HTMLImageElementgeladen und ein Image-Bitmap mitcreateImageBitmap()erstellt wird. - Eine neue
GPUTexturemitcreateTexture()erstellt wird. - Das Image-Bitmap mittels
GPUQueue.copyExternalImageToTexture()in die Textur kopiert wird.
// ...
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
| Spezifikation |
|---|
| WebGPU> # gputexture> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Siehe auch
- Die WebGPU API