Condividi tramite


enumerazione D3D12DDI_RAYTRACING_GEOMETRY_FLAGS (d3d12umddi.h)

Specifica i flag di geometria di ray tracing.

Sintassi

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

Costanti

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
Nessuna opzione specificata.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Quando i raggi rilevano questa geometria, la geometria agisce come se non fosse presente alcun hit shader. È consigliabile usare questo flag in modo liberale, in quanto può abilitare importanti ottimizzazioni di elaborazione dei raggi.

NOTA

Questo comportamento può essere sottoposto a override per ogni istanza con D3D12DDI_RAYTRACING_INSTANCE_FLAGSe su base per raggio usando i flag Ray in TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Per impostazione predefinita, il sistema è libero di attivare un hit shader più di una volta per un'intersezione ray-primitive specificata. Questa flessibilità consente di migliorare l'efficienza trasversale delle strutture di accelerazione in determinati casi. Ad esempio, se la struttura di accelerazione viene implementata internamente con volumi di delimitazione, l'implementazione potrebbe risultare utile archiviare triangoli relativamente lunghi in più rettangoli di delimitazione anziché in un singolo riquadro più grande.

Tuttavia, alcuni casi d'uso dell'applicazione richiedono che le intersezioni vengano segnalate a qualsiasi hit shader al massimo una volta. Questo flag consente di garantire la geometria specificata, potenzialmente con un impatto sulle prestazioni.

Questo flag si applica a tutti i tipi geometry.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1809
intestazione d3d12umddi.h