D3D12DDI_RAYTRACING_GEOMETRY_FLAGS Enumeration (d3d12umddi.h)

Gibt die Geometrie-Flags für die Raytracing-Geometrie 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, wirkt die Geometrie so, als ob kein Treffer-Shader vorhanden ist. Es wird empfohlen, dieses Flag liberal zu verwenden, da es wichtige Optimierungen der Rayverarbeitung ermöglichen kann.

HINWEIS

Dieses Verhalten kann auf einer Instanzbasis mit D3D12DDI_RAYTRACING_INSTANCE_FLAGS überschrieben werden, und auf einer Pro-Ray-Basis mithilfe von Ray-Flags in TraceRay().

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Standardmäßig ist das System frei, einen beliebigen Hit-Shader mehr als einmal für eine bestimmte Ray-Primitive-Schnittmenge auszulösen. Diese Flexibilität hilft bei der Verbesserung der Durchlaufeffizienz von Beschleunigungsstrukturen in bestimmten Fällen. Wenn beispielsweise die Beschleunigungsstruktur intern mit gebundenen Volumes implementiert wird, kann die Implementierung hilfreich sein, relativ lange Dreiecke in mehreren Begrenzungsfeldern zu speichern, anstatt ein größeres einzelnes Feld.

Einige Anwendungsanwendungsfälle erfordern jedoch, dass Schnittpunkte gleichzeitig an einen Hit-Shader gemeldet werden. Diese Kennzeichnung ermöglicht die Garantie für die angegebene Geometrie, möglicherweise mit einigen Leistungseffekten.

Dieses Flag gilt für alle Geometrietypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10, Version 1809
Header d3d12umddi.h