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

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, &params);

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.

Dokumentation der Mitgliedsvariablen

bool QRhiD3D12InitParams::enableDebugLayer

Bei true ist die Debug-Schicht aktiviert, sofern sie installiert und verfügbar ist. Der Standardwert ist false.

© 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.