GPUCommandEncoder: copyTextureToTexture()-Methode

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.

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 Kopier-Texturobjekts), das die Quelle der Textur definiert, aus der die Daten kopiert werden. Zusammen mit copySize definiert dies den Bereich der Quelltextur-Unterressource.

destination

Ein Objekt (siehe Struktur des Kopier-Texturobjekts), das die Zieltextur definiert, in die die Daten geschrieben werden sollen. Zusammen mit copySize definiert dies den Bereich der Zieltextur-Unterressource.

copySize

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

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

Struktur des Kopier-Texturobjekts

Ein Kopier-Texturobjekt hat die folgende Struktur:

aspect Optional

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

"all"

Alle verfügbaren Aspekte des Texturformats werden kopiert, was je nach Format alle oder einen der Farb-, Tiefen- und Stencil-Aspekte bedeuten kann.

"depth-only"

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

"stencil-only"

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

Wenn weggelassen, nimmt aspect den Wert "all" an.

mipLevel Optional

Eine Zahl, die die Mip-Map-Ebene der Textur angibt, von der kopiert werden soll. Wenn weggelassen, ist der Standardwert für mipLevel 0.

origin Optional

Ein Objekt oder Array, das den Ursprung der Kopie/Ziel angibt – die minimale Ecke des Texturbereichs, aus dem kopiert werden soll. Zusammen mit size definiert dies den vollständigen Umfang des Bereiches, aus dem kopiert werden soll. Die x, y und z-Werte sind standardmäßig 0, falls origin ganz oder teilweise weggelassen wird.

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

texture

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

Rückgabewert

Keiner (Undefined).

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenn copyTextureToTexture() aufgerufen wird, andernfalls wird ein GPUValidationError generiert 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

Specification
WebGPU
# dom-gpucommandencoder-copytexturetotexture

Browser-Kompatibilität

Siehe auch