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 vor der Verwendung auf produktiven Webseiten.
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 repräsentiert einen Container, der dazu verwendet wird, 1D-, 2D- oder 3D-Datenarrays, wie z.B. Bilder, zu speichern, um sie in GPU-Rendering-Operationen zu verwenden.
Eine GPUTexture
-Objektinstanz wird mit der Methode GPUDevice.createTexture()
erstellt.
Instanz-Eigenschaften
depthOrArrayLayers
Experimentell Schreibgeschützt-
Eine Zahl, die die Tiefe oder die Anzahl der Schichten der
GPUTexture
angibt (Pixel oder Anzahl der Schichten). dimension
Experimentell Schreibgeschützt-
Ein enumerierter Wert, der die Dimension der Texelgruppe für jede
GPUTexture
-Subressource repräsentiert. format
Experimentell Schreibgeschützt-
Ein enumerierter Wert, der das Format der
GPUTexture
repräsentiert. Siehe den Abschnitt Texture formats der Spezifikation für alle möglichen Werte. height
Experimentell Schreibgeschützt-
Eine Zahl, die die Höhe der
GPUTexture
in Pixeln angibt. label
Experimentell-
Ein String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, zum Beispiel in
GPUError
-Meldungen oder Konsolenwarnungen. mipLevelCount
Experimentell Schreibgeschützt-
Eine Zahl, die die Anzahl der Mip-Ebenen der
GPUTexture
angibt. sampleCount
Experimentell Schreibgeschützt-
Eine Zahl, die die Anzahl der Samples der
GPUTexture
angibt. usage
Experimentell Schreibgeschützt-
Die bitweis gesetzten Flags, die die erlaubten Nutzungen der
GPUTexture
darstellen. width
Experimentell Schreibgeschützt-
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 erstellt, um sie auf den Flächen eines Würfels zu verwenden, indem:
- das Bild in ein
HTMLImageElement
geladen und ein Bild-Bitmap mitcreateImageBitmap()
erstellt wird. - eine neue
GPUTexture
mitcreateTexture()
erstellt wird. - das Bild-Bitmap mit
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 # texture-interface |
Browser-Kompatibilität
Siehe auch
- Die WebGPU API