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

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

BCD tables only load in the browser

Siehe auch