D3D12DDI_RAYTRACING_INSTANCE_FLAGS-Enumeration (d3d12umddi.h)

Flagoptionen beim Generieren instance Daten auf der CPU zum Hochladen in die GPU während des Build der Raytracingbeschleunigungsstruktur.

Syntax

typedef enum D3D12DDI_RAYTRACING_INSTANCE_FLAGS {
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE,
  D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
} ;

Konstanten

 
D3D12DDI_RAYTRACING_INSTANCE_FLAG_NONE
Es wurden keine Optionen angegeben.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE
Deaktiviert das Culling für diese instance. Die D3D12DDI_CULL_MODE-Enumerationsflags D3D12DDI_CULL_MODE_FRONT und D3D12DDI_CULL_MODE_BACK haben keine Auswirkungen auf diese instance.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE
Mit diesem Flag werden vordere und hintere Richtungen umgekehrt, was nützlich ist, wenn sich beispielsweise die natürliche Wickelreihenfolge der Anwendung von der Standardeinstellung unterscheidet.
Standardmäßig ist ein Dreieck nach vorne ausgerichtet, wenn seine Scheitelpunkte vom Strahlenursprung im Uhrzeigersinn und umgekehrt erscheinen, wenn seine Scheitelpunkte vom Strahlenursprung im Objektraum in einem linkshändigen Koordinatensystem gegen den Uhrzeigersinn erscheinen.
Da diese Wickelrichtungsregeln im Objektraum definiert sind, sind sie von instance Transformationen nicht betroffen. Beispielsweise ändert eine instance Transformationsmatrix mit negativer Determinante (z. B. spiegelung einer Geometrie) die Gerichtete der Dreiecke innerhalb des instance nicht. Im Gegensatz dazu werden Transformationen pro Geometrie (definiert in D3D12DDI_RAYTRACING_GEOMETRY_DESC_0054) mit den zugeordneten Scheitelpunktdaten im Objektraum kombiniert, sodass eine negative Determinantenmatrix dort Dreieckswicklungen ausführt.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE
Die instance verhält sich so, als ob das D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE Flag der D3D12DDI_RAYTRACING_GEOMETRY_FLAGS-Enumeration für alle Geometrien in der Beschleunigungsstruktur der unteren Ebene angegeben wurde, auf die vom instance verwiesen wird.

Beachten Sie, dass dieses Verhalten durch das Ray-Flag D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE überschrieben werden kann. Dieses Flag schließt sich gegenseitig für das D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE-Flag aus.
D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE
Die instance verhält sich so, als ob das D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE Flag der D3D12DDI_RAYTRACING_GEOMETRY_FLAGS-Enumeration für keine der Geometrien in der Beschleunigungsstruktur der unteren Ebene angegeben wurde, auf die vom instance verwiesen wird.

Beachten Sie, dass dieses Verhalten durch das Ray-Flag D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE überschrieben werden kann. Dieses Flag schließt sich gegenseitig vom D3D12DDI_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE-Flag aus.

Hinweise

Diese Enumeration wird in der D3D12DDI_RAYTRACING_INSTANCE_DESC_0054-Struktur verwendet, um eine Option anzugeben, die auf die instance angewendet werden soll.

Anforderungen

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