Condividi tramite


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

Vedere anche

ID3D12Device5