Freigeben über


ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure-Methode (d3d12.h)

Kopiert eine Quellbeschleunigungsstruktur in den Zielspeicher, während die angegebene Transformation angewendet wird.

Syntax

void CopyRaytracingAccelerationStructure(
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         DestAccelerationStructureData,
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         SourceAccelerationStructureData,
  [in] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode
);

Parameter

[in] DestAccelerationStructureData

Der Zielspeicher. Die erforderliche Größe kann ermittelt werden, indem Sie EmitRaytracingAccelerationStructurePostbuildInfo vorab aufrufen, falls dies für den angegebenen Modus erforderlich ist.

Die Zielstartadresse muss unabhängig vom angegebenen Modus an 256 Bytes ausgerichtet werden, die als D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT definiert sind.

Der Zielspeicherbereich kann die Quelle nicht überlappen. Andernfalls sind die Ergebnisse nicht definiert.

Der Ressourcenstatus, in dem sich der Speicher befinden muss, hängt vom Modusparameter ab. Weitere Informationen finden Sie unter D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] SourceAccelerationStructureData

Die Adresse der Beschleunigungsstruktur oder eines anderen Datentyps, der kopiert/transformiert werden soll, basierend auf dem angegebenen Modus. Die Daten bleiben unverändert und nutzbar. Der Vorgang kopiert nur die Daten, auf die von SourceAccelerationStructureData verwiesen wird, und nicht andere Daten, z. B. Beschleunigungsstrukturen, auf die die Quelldaten möglicherweise verweisen. Im Fall einer Beschleunigungsstruktur auf oberster Ebene werden beispielsweise alle Beschleunigungsstrukturen der unteren Ebene, auf die sie verweist, nicht in den Vorgang kopiert.

Der Quellspeicher muss unabhängig vom angegebenen Modus auf 256 Bytes ausgerichtet sein, die als D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT definiert sind.

Der Ressourcenstatus, in dem sich der Speicher befinden muss, hängt vom Modusparameter ab. Weitere Informationen finden Sie unter D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] Mode

Der Typ des auszuführenden Kopiervorgangs. Weitere Informationen finden Sie unter D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

Rückgabewert

Keine

Bemerkungen

Da Raytracingbeschleunigungsstrukturen interne Zeiger enthalten können und über ein geräteabhängiges undurchsichtiges Layout verfügen, erfordert das Kopieren oder anderweitige Bearbeiten sie eine dedizierte API, damit Treiber den angeforderten Vorgang verarbeiten können.

Diese Methode kann aus Grafik- oder Computebefehlslisten aufgerufen werden, aber nicht aus Bundles.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3D12.lib
DLL D3D12.dll

Weitere Informationen

ID3D12GraphicsCommandList4