QRhiD3D12InitParams Struct
Direct3D 12 spezifische Initialisierungsparameter. Mehr...
Kopfzeile: | #include <rhi/qrhi.h> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
qmake: | QT += gui-private |
Vererbt: | QRhiInitParams |
Öffentliche Variablen
bool | enableDebugLayer |
Detaillierte Beschreibung
Hinweis: Dies ist eine RHI-API mit begrenzten Kompatibilitätsgarantien, siehe QRhi für Details.
Eine D3D12-basierte QRhi benötigt keine speziellen Parameter für die Initialisierung. Falls gewünscht, kann enableDebugLayer auf true
gesetzt werden, um die Direct3D-Debug-Schicht zu aktivieren. Dies kann während der Entwicklung nützlich sein, sollte aber bei Produktions-Builds vermieden werden.
QRhiD3D12InitParams params; params.enableDebugLayer = true; rhi = QRhi::create(QRhi::D3D12, ¶ms);
Hinweis: QRhiSwapChain sollte nur in Kombination mit QWindow Instanzen verwendet werden, deren Oberflächentyp auf QSurface::Direct3DSurface eingestellt ist.
Arbeiten mit vorhandenen Direct3D 12-Geräten
Bei der Zusammenarbeit mit einer anderen Grafik-Engine kann es notwendig sein, eine QRhi Instanz zu erhalten, die das gleiche Direct3D-Gerät verwendet. Dies kann erreicht werden, indem ein Zeiger auf eine QRhiD3D12NativeHandles an QRhi::create() übergeben wird. QRhi übernimmt keine Eigentümerschaft an den externen Objekten.
Manchmal, z.B. bei der Verwendung von QRhi in Kombination mit OpenXR, möchte man angeben, welcher Adapter verwendet werden soll und optional, welches Feature-Level auf dem Gerät angefordert werden soll, während man die Geräteerstellung QRhi überlässt. Dies wird erreicht, indem man den Gerätezeiger auf Null setzt, während man die Adapter-LUID und das Feature-Level angibt.
Optional kann auch die ID3D12CommandQueue angegeben werden, indem commandQueue
auf einen Nicht-Null-Wert gesetzt wird.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.