enumerazione D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS (d3d12umddi.h)
Specifica i flag di compilazione della struttura di accelerazione ray tracing.
Sintassi
typedef enum D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
} ;
Costanti
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE Nessuna opzione specificata per la compilazione della struttura di accelerazione. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE Creare la struttura di accelerazione in modo che supporti gli aggiornamenti futuri, tramite il flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE, invece di dover ricompilare completamente l'app. Questa opzione può comportare un aumento del consumo di memoria e dei tempi di compilazione e una riduzione delle prestazioni di ray tracing. Gli aggiornamenti futuri, tuttavia, devono essere più veloci rispetto alla creazione della struttura di accelerazione equivalente da zero. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION Consente di compattare la struttura di accelerazione chiamando CopyRaytracingAccelerationStructure con la modalità compatta. Vedere D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. Questa opzione può comportare un aumento del consumo di memoria e dei tempi di compilazione. Dopo una futura compattazione, tuttavia, la struttura di accelerazione risultante dovrebbe utilizzare un footprint di memoria inferiore, non più grande della creazione della struttura di accelerazione da zero. Questo flag è compatibile con tutti gli altri flag. Se specificato come parte di un aggiornamento della struttura di accelerazione, la struttura di accelerazione di origine deve essere stata compilata anche con questo flag. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE Costruire una struttura di accelerazione di alta qualità che ottimizza le prestazioni di ray tracing a scapito di un tempo di compilazione aggiuntivo. Una regola approssimativa è che l'implementazione deve richiedere circa 2-3 volte il tempo di compilazione predefinito per ottenere prestazioni di traccia migliori. Questo flag è consigliato per la geometria statica in particolare. È anche compatibile con tutti gli altri flag ad eccezione di D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD Costruire una struttura di accelerazione di qualità inferiore, trading ray tracing prestazioni per la velocità di compilazione. Una regola approssimativa è che l'implementazione deve richiedere da 1/2 a 1/3 del tempo di compilazione predefinito a un sacrificio nelle prestazioni di traccia. Questo flag è compatibile con tutti gli altri flag ad eccezione di D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY Ridurre al minimo la quantità di memoria usata durante la compilazione della struttura di accelerazione e le dimensioni del risultato. Questa opzione può comportare tempi di compilazione maggiori e/o tempi di traccia dei raggi. Si tratta di un'operazione ortogonale per il flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION e la compattazione esplicita della struttura di accelerazione abilitata. La combinazione dei flag può significare sia la struttura di accelerazione iniziale che il risultato della compattazione usa meno memoria. L'impatto dell'uso di questo flag per una compilazione si riflette nel risultato della chiamata di GetRaytracingAccelerationStructurePrebuildInfo prima di eseguire la compilazione per recuperare i requisiti di memoria per la compilazione. Questo flag è compatibile con tutti gli altri flag. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE Eseguire un aggiornamento della struttura di accelerazione, anziché creare da zero. Questa operazione è più veloce rispetto a una compilazione completa, ma può influire negativamente sulle prestazioni di ray tracing, soprattutto se le posizioni degli oggetti sottostanti sono cambiate in modo significativo rispetto alla compilazione originale della struttura di accelerazione prima degli aggiornamenti. Se gli indirizzi delle strutture di accelerazione di origine e destinazione sono identici, l'aggiornamento viene eseguito sul posto. Qualsiasi altra sovrapposizione di intervalli di indirizzi dell'origine e della destinazione non è valida. Per le destinazioni e l'origine non sovrapposte, la struttura di accelerazione di origine non viene modificata. Il requisito di memoria per la struttura di accelerazione dell'output è uguale a quello della struttura di accelerazione di input. Questo flag è compatibile con tutti gli altri flag. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE può essere impostata o meno, non fa alcuna differenza perché gli aggiornamenti continueranno a essere consentiti. Le altre selezioni di flag, a parte D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE e D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE, devono corrispondere ai flag nella struttura di accelerazione di origine. Gli aggiornamenti della struttura di accelerazione possono essere eseguiti in successione illimitata. La struttura di accelerazione di origine deve essere stata creata con D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE o, se diversamente clonata, la struttura di accelerazione di origine doveva essere prodotta in uno di questi modi. Essenzialmente, la struttura di accelerazione doveva essere stata costruita con l'aspettativa che gli aggiornamenti possano verificarsi. |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1809 |
intestazione | d3d12umddi.h |