Freigeben über


D3D12DDI_RAYTRACING_GEOMETRY_FLAGS-Aufzählung (d3d12umddi.h)

Gibt die Geometriekennzeichnungen für die Ray-Tracing an.

Syntax

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

Konstanten

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
Es wurden keine Optionen angegeben.
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
Wenn Strahlen auf diese Geometrie stoßen, fungiert die Geometrie so, als ob kein Treffershader vorhanden ist. Es wird empfohlen, dieses Kennzeichen liberal zu verwenden, da es wichtige Optimierungen der Strahlenverarbeitung ermöglichen kann.

ANMERKUNG

Dieses Verhalten kann pro Instanz mit D3D12DDI_RAYTRACING_INSTANCE_FLAGSüberschrieben werden und pro Ray mithilfe von Ray-Flags in TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Standardmäßig kann das System einen beliebigen Hitshader mehrmals für eine bestimmte Ray-Primitive-Schnittmenge auslösen. Diese Flexibilität trägt dazu bei, die Durchlaufeffizienz von Beschleunigungsstrukturen in bestimmten Fällen zu verbessern. Wenn beispielsweise die Beschleunigungsstruktur intern mit begrenzungsgebundenen Volumes implementiert wird, kann die Implementierung es vorteilhaft finden, relativ lange Dreiecke in mehreren umgebenden Feldern zu speichern, anstatt in einem größeren Einzelfeld.

Einige Anwendungsanwendungsfälle erfordern jedoch, dass Schnittmengen höchstens einmal an einen Treffershader gemeldet werden. Diese Kennzeichnung ermöglicht die Garantie für die angegebene Geometrie, die möglicherweise auswirkungen auf die Leistung hat.

Dieses Kennzeichen gilt für alle Geometrietypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1809
Header- d3d12umddi.h