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 è stata specificata.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Quando i raggi incontrano questa geometria, la geometria agisce come se non fosse presente alcun hit shader. È consigliabile usare questo flag in modo liberale, perché 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 in base al raggio usando i flag Ray in TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Per impostazione predefinita, il sistema è libero di attivare più volte un hit shader 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 selezione anziché in un unico 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.

Requisiti

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