GPUTexture
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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
| Specification |
|---|
| WebGPU> # gputexture> |
Browser-Kompatibilität
Loading…
Siehe auch
- Die WebGPU API