D3D12DDI_RAYTRACING_GEOMETRY_FLAGS-Enumeration (d3d12umddi.h)

Gibt die Raytracinggeometrieflags 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 sei kein Treffer-Shader vorhanden. Es wird empfohlen, dieses Flag liberal zu verwenden, da es wichtige Optimierungen der Rayverarbeitung ermöglichen kann.

HINWEIS

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

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
Standardmäßig ist das System frei, einen beliebigen Treffershader für eine bestimmte ray-primitive Schnittmenge mehrmals auszulösen. Diese Flexibilität trägt in bestimmten Fällen zur Verbesserung der Durchlaufeffizienz von Beschleunigungsstrukturen bei. Wenn die Beschleunigungsstruktur für instance intern mit begrenzungsenden Volumes implementiert wird, kann es für die Implementierung vorteilhaft sein, relativ lange Dreiecke in mehreren begrenzungsenden Feldern anstelle eines größeren einzelnen Felds zu speichern.

Für einige Anwendungsanwendungsfälle ist es jedoch erforderlich, dass Schnittmengen höchstens einmal an jeden Hit-Shader gemeldet werden. Dieses Flag ermöglicht diese Garantie für die angegebene Geometrie, möglicherweise mit einigen Auswirkungen auf die Leistung.

Dieses Flag gilt für alle Geometrietypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809
Kopfzeile d3d12umddi.h