struttura D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC (d3d12.h)
Descrive una struttura di accelerazione raytracing. Passare questa struttura in ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure per descrivere la struttura di accelerazione da compilare.
Sintassi
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;
Members
DestAccelerationStructureData
Posizione in cui archiviare la struttura di accelerazione risultante. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo segnala la quantità di memoria necessaria per il risultato, dato un set di parametri di compilazione della struttura di accelerazione.
L'indirizzo deve essere allineato a 256 byte, definito come D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT.
Importante
La memoria deve essere nello stato D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
Inputs
Descrizione dei dati di input per la compilazione della struttura di accelerazione. Si tratta di dati archiviati in una struttura separata perché viene usata anche con GetRaytracingAccelerationStructurePrebuildInfo.
SourceAccelerationStructureData
Indirizzo di una struttura di accelerazione esistente se viene richiesto un aggiornamento della struttura di accelerazione (compilazione incrementale), impostando D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE nel parametro Flags. In caso contrario, questo indirizzo deve essere NULL.
Se questo indirizzo corrisponde a DestAccelerationStructureData, l'aggiornamento deve essere eseguito sul posto. Qualsiasi altra forma di sovrapposizione della memoria di origine e di destinazione non è valida e produce un comportamento non definito.
L'indirizzo deve essere allineato a 256 byte, definito come D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, che dovrebbe essere automaticamente il caso perché qualsiasi struttura di accelerazione esistente passata qui sarebbe già stata richiesta per essere posizionata con tale allineamento.
Importante
La memoria deve essere nello stato D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
ScratchAccelerationStructureData
Percorso in cui la compilazione archivierà i dati temporanei. GetRaytracingAccelerationStructurePrebuildInfo segnala la quantità di memoria scratch necessaria per un determinato set di parametri di compilazione della struttura di accelerazione.
Importante
La memoria deve essere nello stato D3D12_RESOURCE_STATE_UNORDERED_ACCESS.
ScratchAccelerationStructureData
Requisiti
Intestazione | d3d12.h |