Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

GPUCommandEncoder: copyTextureToTexture() Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die copyTextureToTexture() Methode der GPUCommandEncoder-Schnittstelle kodiert einen Befehl, der Daten von einer GPUTexture zu einer anderen kopiert.

Syntax

js
copyTextureToTexture(source, destination, copySize)

Parameter

source

Ein Objekt (siehe Struktur des Copy Texture Objekts), das die Textur definiert, von der die Daten kopiert werden. In Kombination mit copySize definiert dies den Bereich der Quelltextur-Subresource.

destination

Ein Objekt (siehe Struktur des Copy Texture Objekts), das die Textur definiert, in die die Daten geschrieben werden sollen. In Kombination mit copySize definiert dies den Bereich der Zieltextur-Subresource.

copySize

Ein Objekt oder Array, das die Breite, Höhe und Tiefe/Array-Schichtenzahl der kopierten Daten angibt. Der Breitenwert muss immer angegeben werden, während die Höhen- und Tiefen-/Array-Schichtenzahl optional sind und auf 1 standardmäßig gesetzt werden, wenn sie weggelassen werden.

Zum Beispiel können Sie ein Array [16, 16, 2] oder sein gleichwertiges Objekt { width: 16, height: 16, depthOrArrayLayers: 2 } übergeben.

Struktur des Copy Texture Objekts

Ein Copy Texture Objekt hat die folgende Struktur:

aspect Optional

Ein enumerierter Wert, der definiert, welche Aspekte der Textur kopiert werden. Mögliche Werte sind:

"all"

Alle verfügbaren Aspekte des Texturformats werden kopiert, was je nach Format alle oder einige von Farbe, Tiefe und Schablone bedeuten kann.

"depth-only"

Nur der Tiefenaspekt eines Tiefen-oder-Schablonen-Formats wird kopiert.

"stencil-only"

Nur der Schablonen-Aspekt eines Tiefen-oder-Schablonen-Formats wird kopiert.

Wenn weggelassen, nimmt aspect den Wert "all".

mipLevel Optional

Eine Zahl, die das Mip-Map-Level der Textur angibt, von der/dem die Daten kopiert werden. Wenn weggelassen, hat mipLevel den Standardwert 0.

origin Optional

Ein Objekt oder Array, das den Ursprung der Kopie/Zielfestlegung angibt — die minimale Ecke des Texturbereichs, von dem die Daten kopiert werden. Zusammen mit size definiert dies das gesamte Ausmaß des zu kopierenden Bereichs. Die x, y und z Werte haben den Standardwert 0, wenn ein Teil von origin weggelassen wird.

Zum Beispiel können Sie ein Array wie [0, 0, 0] oder sein gleichwertiges Objekt { x: 0, y: 0, z: 0 } übergeben.

texture

Ein GPUTexture-Objekt, das die Textur repräsentiert, von der die Daten kopiert werden.

Rückgabewert

Keiner (undefined).

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenn copyTextureToTexture() aufgerufen wird, ansonsten wird ein GPUValidationError erzeugt und der GPUCommandEncoder wird ungültig.

Für die source:

Für die destination:

Für source und destination:

Beispiele

js
commandEncoder.copyTextureToTexture(
  {
    texture: sourceTexture,
  },
  {
    texture: destinationTexture,
  },
  {
    width: 16,
    height: 16,
    depthOrArrayLayers: 2,
  },
);

Spezifikationen

Spezifikation
WebGPU
# dom-gpucommandencoder-copytexturetotexture

Browser-Kompatibilität

Siehe auch