D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS-Aufzählung (d3d12umddi.h)
Gibt die Struktur der Ray-Tracing-Beschleunigungsstruktur an, die Flags erstellt.
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 Beschleunigungsstrukturbuild wurden keine Optionen angegeben. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE Erstellen Sie die Beschleunigungsstruktur so, dass sie zukünftige Updates über das Flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE unterstützt, anstatt dass die App vollständig neu erstellt werden muss. Diese Option kann zu einer erhöhten Speicherauslastung und Buildzeiten sowie zu einer geringeren Leistung bei der Ray tracing 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 Komprimierung der Beschleunigungsstruktur durch Aufrufen CopyRaytracingAccelerationStructure mit dem kompakten Modus. Siehe D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. Diese Option kann zu einer erhöhten Speicherauslastung und zu Buildzeiten führen. Nach der zukünftigen Komprimierung sollte die resultierende Beschleunigungsstruktur jedoch einen kleineren Speicherbedarf verbrauchen, nicht größer als das Erstellen der Beschleunigungsstruktur von Grund auf. Dieses Kennzeichen ist mit allen anderen Flags kompatibel. Wenn sie als Teil einer Beschleunigungsstrukturaktualisierung angegeben ist, muss auch die Quellbeschleunigungsstruktur mit diesem Flag erstellt worden sein. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE Erstellen Sie eine hochwertige Beschleunigungsstruktur, die die Leistung der Ray tracing auf Kosten zusätzlicher Buildzeit maximiert. Eine grobe Faustregel besteht darin, dass die Implementierung etwa 2-3 Mal die Standardbuildzeit in Anspruch nehmen sollte, um eine bessere Ablaufverfolgungsleistung zu erzielen. Dieses Kennzeichen 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 niedrigere Beschleunigungsstruktur, Handels-Ray-Tracing-Leistung für Buildgeschwindigkeit. Eine grobe Faustregel besteht darin, dass die Implementierung bei der Ablaufverfolgungsleistung etwa 1/2 bis 1/3 der Standardbuildzeit in Anspruch nehmen sollte. Dieses Flag ist mit allen anderen Flags kompatibel, mit Ausnahme von D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY Minimieren Sie den Während des Beschleunigungsstrukturbuilds verwendeten Arbeitsspeicher sowie die Größe des Ergebnisses. Diese Option kann zu erhöhten Buildzeiten und/oder Ray-Tracing-Zeiten führen. Dies ist orthogonal für die D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION Kennzeichnung und die explizite Beschleunigungsstrukturkomprimierung, die sie ermöglicht. Das Kombinieren der Flags kann sowohl die anfängliche Beschleunigungsstruktur als auch das Ergebnis der Komprimierung bedeuten, dass weniger Arbeitsspeicher verbraucht wird. Die Auswirkungen der Verwendung dieses Flags für einen Build spiegeln sich im Ergebnis des Aufrufs GetRaytracingAccelerationStructurePrebuildInfo wider, bevor sie den Build ausführen, um Speicheranforderungen für den Build abzurufen. Dieses Kennzeichen 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 Leistung der Ray tracing auswirken, insbesondere, wenn sich die Positionen der zugrunde liegenden Objekte vor Aktualisierungen erheblich vom ursprünglichen Build der Beschleunigungsstruktur geändert haben. Wenn die Adressen der Quell- und Zielbeschleunigungsstrukturen identisch sind, wird die Aktualisierung direkt ausgeführt. Alle anderen überlappenden Adressbereiche der Quelle und des Ziels sind ungültig. Bei nicht überlappenden Quellen und Zielen ist die Quellbeschleunigungsstruktur unverändert. Die Speicheranforderung für die Ausgabebeschleunigungsstruktur ist identisch mit der Eingabebeschleunigungsstruktur. Dieses Kennzeichen ist mit allen anderen Flags kompatibel. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE möglicherweise festgelegt oder nicht festgelegt werden, 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 den Flags in der Quellbeschleunigungsstruktur entsprechen. Beschleunigungsstrukturaktualisierungen können in unbegrenzter Folge ausgeführt werden. Die Quellbeschleunigungsstruktur muss entweder mit D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE oder, wenn andernfalls geklont, die ursprüngliche Beschleunigungsstruktur erstellt worden sein muss. Im Wesentlichen musste die Beschleunigungsstruktur mit der Erwartung erstellt worden sein, dass Aktualisierungen auftreten können. |
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1809 |
Header- | d3d12umddi.h |