D3D12_RAYTRACING_GEOMETRY_FLAGS-Enumeration (d3d12.h)
Gibt Flags für Raytracinggeometrie in einer D3D12_RAYTRACING_GEOMETRY_DESC-Struktur an.
Syntax
typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS {
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
} ;
Konstanten
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE Wert: 0 Es wurden keine Optionen angegeben. |
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE Wert: 0x1 Wenn Strahlen auf diese Geometrie stoßen, wirkt die Geometrie so, als sei kein Treffer-Shader vorhanden. Es wird empfohlen, dass Apps dieses Flag liberal verwenden, da es wichtige Rayverarbeitungsoptimierungen ermöglichen kann. Beachten Sie, dass dieses Verhalten auf instance Basis mit D3D12_RAYTRACING_INSTANCE_FLAGS und mit Rayflags in TraceRay überschrieben werden kann. |
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION Wert: 0x2 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 den beliebigen Treffershader 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 |
---|---|
Header | d3d12.h |