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 der GPUTexture 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:

js
// …
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