enumerazione D3D12DDI_RAYTRACING_GEOMETRY_FLAGS (d3d12umddi.h)

Specifica i flag geometry di traccia dei raggi.

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 è stata specificata.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Quando i raggi incontrano questa geometria, la geometria agisce come se non sia 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_FLAGS e 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 una determinata intersezione ray-primitive. Questa flessibilità consente di migliorare l'efficienza attraversata delle strutture di accelerazione in determinati casi. Ad esempio, se la struttura di accelerazione viene implementata internamente con volumi di delimitamento, l'implementazione potrebbe risultare utile archiviare triangoli relativamente lunghi in più caselle di selezione anziché una singola casella più grande.

Tuttavia, alcuni casi d'uso dell'applicazione richiedono che gli intersezioni vengano segnalati 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.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809
Intestazione d3d12umddi.h