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 |