QRhiD3D11InitParams Struct

Direct3D 11 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
Since: Qt 6.6
Vererbt: QRhiInitParams

Öffentliche Variablen

Detaillierte Beschreibung

Hinweis: Dies ist eine RHI API mit eingeschränkten Kompatibilitätsgarantien, siehe QRhi für Details.

Eine D3D11-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.

QRhiD3D11InitParams params;
params.enableDebugLayer = true;
rhi = QRhi::create(QRhi::D3D11, &params);

Hinweis: QRhiSwapChain sollte nur in Kombination mit QWindow Instanzen verwendet werden, deren Oberflächentyp auf QSurface::Direct3DSurface eingestellt ist.

Arbeiten mit vorhandenen Direct3D 11-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 ein QRhiD3D11NativeHandles an QRhi::create() übergeben wird. Wenn das Gerät auf einen Nicht-Null-Wert gesetzt wird, muss auch der Gerätekontext angegeben werden. QRhi übernimmt keine Eigentumsrechte an den externen Objekten.

Manchmal, zum Beispiel bei der Verwendung von QRhi in Kombination mit OpenXR, wird man angeben wollen, 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 die Geräte- und Kontextzeiger auf Null setzt, während man die Adapter-LUID und das Feature-Level angibt.

Hinweis: QRhi arbeitet nur mit unmittelbaren Kontexten. Aufgeschobene Kontexte werden in keiner Weise verwendet.

Hinweis: Unabhängig davon, ob ein importierter oder ein QRhi-erstellter Gerätekontext verwendet wird, muss die ID3D11DeviceContext1 -Schnittstelle (Direct3D 11.1) unterstützt werden. Andernfalls wird die Initialisierung fehlschlagen.

Dokumentation der Mitgliedsvariablen

bool QRhiD3D11InitParams::enableDebugLayer

Bei true wird ein Debug-Gerät erstellt, vorausgesetzt, die Debug-Schicht ist verfügbar. 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.