D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS-Enumeration (d3d12umddi.h)

Gibt die Buildflags für die Raytracingbeschleunigung an.

Syntax

typedef enum D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
} ;

Konstanten

 
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE
Für den Build der Beschleunigungsstruktur wurden keine Optionen angegeben.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE
Erstellen Sie die Beschleunigungsstruktur so, dass zukünftige Updates über das Flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE unterstützt werden, anstatt dass die App vollständig neu erstellt werden muss. Diese Option kann zu einem höheren Arbeitsspeicherverbrauch und zu einer höheren Buildzeit und einer geringeren Raytracingleistung führen. Zukünftige Updates sollten jedoch schneller sein, als die entsprechende Beschleunigungsstruktur von Grund auf neu zu erstellen.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION
Ermöglicht die Option zum Komprimieren der Beschleunigungsstruktur durch Aufrufen von CopyRaytracingAccelerationStructure mit dem kompakten Modus. Siehe D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.
Diese Option kann zu einem höheren Arbeitsspeicherverbrauch und zu höheren Buildzeiten führen. Nach der zukünftigen Komprimierung sollte die resultierende Beschleunigungsstruktur jedoch einen geringeren Speicherbedarf verbrauchen, nicht größer als das Erstellen der Beschleunigungsstruktur von Grund auf.

Dieses Flag ist mit allen anderen Flags kompatibel. Wenn im Rahmen einer Beschleunigungsstrukturaktualisierung angegeben, muss die Quellbeschleunigungsstruktur ebenfalls mit diesem Flag erstellt worden sein.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE
Erstellen Sie eine hochwertige Beschleunigungsstruktur, die die Raytracingleistung auf Kosten zusätzlicher Buildzeit maximiert. Eine grobe Faustregel ist, dass die Implementierung etwa das 2-3-Fache der Standardbuildzeit in Anspruch nehmen sollte, um eine bessere Ablaufverfolgungsleistung zu erzielen.

Dieses Flag wird insbesondere für statische Geometrie empfohlen. Es ist auch mit allen anderen Flags kompatibel, mit Ausnahme von D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD
Erstellen Sie eine Beschleunigungsstruktur mit niedrigerer Qualität und handeln Sie die Raytracing-Leistung für die Buildgeschwindigkeit. Eine grobe Faustregel ist, dass die Implementierung etwa 1/2 bis 1/3 der Standardbuildzeit bei einem Opfer der Ablaufverfolgungsleistung in Anspruch nehmen sollte.

Dieses Flag ist mit allen anderen Flags mit Ausnahme von D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE kompatibel.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY
Minimieren Sie die Menge an Arbeitsspeicher, die beim Build der Beschleunigungsstruktur verwendet wird, sowie die Größe des Ergebnisses. Diese Option kann zu höheren Buildzeiten und/oder Raytracingzeiten führen.

Dies ist orthogonal für das flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION und die explizite Beschleunigungsstrukturkomprimierung, die es ermöglicht. Die Kombination der Flags kann sowohl die anfängliche Beschleunigungsstruktur als auch das Ergebnis der Komprimierung bedeuten, dass weniger Arbeitsspeicher benötigt wird.
Die Auswirkungen der Verwendung dieses Flags für einen Build spiegeln sich im Ergebnis des Aufrufs von GetRaytracingAccelerationStructurePrebuildInfo wider, bevor der Build ausgeführt wird, um die Speicheranforderungen für den Build abzurufen.

Dieses Flag ist mit allen anderen Flags kompatibel.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
Führen Sie eine Beschleunigungsstrukturaktualisierung aus, anstatt von Grund auf neu zu erstellen. Dies ist schneller als ein vollständiger Build, kann sich jedoch negativ auf die Raytracingleistung auswirken, insbesondere wenn sich die Positionen der zugrunde liegenden Objekte gegenüber dem ursprünglichen Build der Beschleunigungsstruktur vor Updates erheblich geändert haben.

Wenn die Adressen der Quell- und Zielbeschleunigungsstrukturen identisch sind, wird die Aktualisierung an Ort und Stelle durchgeführt. Alle anderen Überlappungen von Adressbereichen der Quelle und des Ziels sind ungültig. Für nicht überlappende Quell- und Ziele ist die Struktur der Quellbeschleunigung unverändert. Der Arbeitsspeicherbedarf für die Struktur der Ausgabebeschleunigung ist identisch mit der in der Eingabebeschleunigungsstruktur.

Dieses Flag ist mit allen anderen Flags kompatibel. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE festgelegt werden kann oder nicht, macht es keinen Unterschied, da Updates weiterhin zulässig sind. Die anderen Flags müssen abgesehen von D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE und D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE mit den Flags in der Quellbeschleunigungsstruktur übereinstimmen.

Beschleunigungsstrukturupdates können in unbegrenzter Folge durchgeführt werden. Die Struktur der Quellbeschleunigung muss entweder mit D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE erstellt worden sein, oder wenn sie anderweitig geklont wurde, musste die ursprüngliche Beschleunigungsstruktur auf eine dieser Arten erstellt worden sein. Im Wesentlichen musste die Beschleunigungsstruktur mit der Erwartung erstellt worden sein, dass Updates stattfinden können.

Anforderungen

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