Metodo ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo (d3d12.h)
Eseguire una query sul driver per individuare i requisiti delle risorse per creare una struttura di accelerazione.
Sintassi
void GetRaytracingAccelerationStructurePrebuildInfo(
[in] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
[out] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo
);
Parametri
[in] pDesc
Descrizione della compilazione della struttura di accelerazione. Questa struttura viene condivisa con BuildRaytracingAccelerationStructure. Per altre informazioni, vedere D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.
L'implementazione può esaminare tutti i parametri della CPU in questo struct e gli struct annidati. Potrebbe non esaminare o dereferenziare indirizzi virtuali GPU, ad eccezione di verificare se un puntatore è NULL o meno, ad esempio la trasformazione facoltativa in D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, senza dereferenziarla. In altre parole, il calcolo dei requisiti delle risorse per la struttura di accelerazione non dipende dai dati geometry effettivi (ad esempio le posizioni dei vertici), ma può dipendere solo dalle proprietà complessive, ad esempio il numero di triangoli, il numero di istanze e così via.
[out] pInfo
Risultato della query (in una struttura D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).
Valore restituito
Nessuno
Osservazioni
La descrizione della struttura di accelerazione di input è identica a quella in BuildRaytracingAccelerationStructure. Il risultato di questa funzione consente all'applicazione di fornire la quantità corretta di spazio di archiviazione di output e spazio di archiviazione scratch per BuildRaytracingAccelerationStructure dato la stessa geometria.
Le compilazioni possono essere eseguite anche con la stessa configurazione passata a GetAccelerationStructurePrebuildInfo in generale, ad eccezione dei conteggi uguali o minori per il numero di geometrie/istanze o il numero di vertici/indici/AABB in qualsiasi geometria specificata. In questo caso, i requisiti di archiviazione segnalati con le dimensioni originali passate a GetRaytracingAccelerationStructurePrebuildInfo saranno validi. La compilazione potrebbe effettivamente consumare meno spazio, ma non più. Questo è utile per gli scenari di app in cui l'archiviazione di dimensioni conservativamente elevate allocata per le strutture di accelerazione è buona.
Questo metodo si trova nell'interfaccia del dispositivo anziché nell'elenco di comandi sul presupposto che i driver devono essere in grado di calcolare i requisiti delle risorse per una struttura di accelerazione solo esaminando le parti visibili della CPU della chiamata, senza dover dereferenziare i puntatori alla memoria GPU contenente dati di vertice effettivi, dati di indice e così via.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1809 [solo app desktop] |
server minimo supportato | Windows Server 2016 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
d3d12.h |
libreria |
D3d12.lib |
dll | D3d12.dll |