D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC-Struktur (d3d12.h)
Beschreibt eine Raytracing-Beschleunigungsstruktur. Übergeben Sie diese Struktur an ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure , um die zu erstellende Beschleunigungsstruktur zu beschreiben.
Syntax
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
Member
DestAccelerationStructureData
Speicherort zum Speichern der resultierenden Beschleunigungsstruktur. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo meldet die Menge an Arbeitsspeicher, die für das Ergebnis hier unter Berücksichtigung einer Reihe von Buildparametern der Beschleunigungsstruktur erforderlich ist.
Die Adresse muss an 256 Bytes ausgerichtet sein, die als D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT definiert sind.
Wichtig
Der Arbeitsspeicher muss sich im Zustand D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE befinden.
Inputs
Beschreibung der Eingabedaten für den Beschleunigungsstrukturbuild. Dies sind Daten, die in einer separaten Struktur gespeichert werden, da sie auch mit GetRaytracingAccelerationStructurePrebuildInfo verwendet werden.
SourceAccelerationStructureData
Adresse einer vorhandenen Beschleunigungsstruktur, wenn eine Beschleunigungsstrukturaktualisierung (ein inkrementeller Build) angefordert wird, indem D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE im Flags-Parameter festgelegt wird. Andernfalls muss diese Adresse NULL sein.
Wenn diese Adresse mit DestAccelerationStructureData identisch ist, muss die Aktualisierung direkt durchgeführt werden. Jede andere Form der Überlappung von Quell- und Zielspeicher ist ungültig und erzeugt ein nicht definiertes Verhalten.
Die Adresse muss an 256 Bytes ausgerichtet werden, die als D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT definiert sind, was automatisch der Fall sein sollte, da jede vorhandene Beschleunigungsstruktur, die hier übergeben wird, bereits mit einer solchen Ausrichtung platziert werden musste.
Wichtig
Der Arbeitsspeicher muss sich im Zustand D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE befinden.
ScratchAccelerationStructureData
Speicherort, an dem der Build temporäre Daten speichert. GetRaytracingAccelerationStructurePrebuildInfo meldet die Menge an Arbeitsspeicher, die die Implementierung für einen bestimmten Satz von Buildparametern für die Beschleunigungsstruktur benötigt.
Wichtig
Der Arbeitsspeicher muss sich im Zustand D3D12_RESOURCE_STATE_UNORDERED_ACCESS befinden.
ScratchAccelerationStructureData
Anforderungen
Kopfzeile | d3d12.h |