Szenendiagramm - Direct3D 11 unter QML
Zeigt, wie man direkt mit Direct3D 11 unter einer Qt Quick Szene rendern kann.
Das Direct3D 11 Under QML Beispiel zeigt, wie eine Anwendung das QQuickWindow::beforeRendering() Signal nutzen kann, um eigene D3D11 Inhalte unter einer Qt Quick Szene zu zeichnen. Dieses Signal wird zu Beginn eines jeden Frames ausgegeben, bevor der Szenegraph mit dem Rendering beginnt. Daher werden alle D3D11-Zeichenaufrufe, die als Reaktion auf dieses Signal erfolgen, unter den Qt Quick -Elementen gestapelt.
Als Alternative können Anwendungen, die D3D11-Inhalte über der Szene Qt Quick rendern möchten, dies tun, indem sie sich mit dem Signal QQuickWindow::afterRendering() verbinden.
In diesem Beispiel werden wir auch sehen, wie es möglich ist, Werte zu haben, die QML ausgesetzt sind und das D3D11-Rendering beeinflussen. Wir animieren den Schwellenwert mit Hilfe von NumberAnimation in der QML-Datei, und dieser Wert wird von dem HLSL-Shader-Programm verwendet, das die Eichhörnchen zeichnet.
Das Beispiel ist in den meisten Punkten äquivalent zu den Beispielen OpenGL Under QML, Metal Under QML und Vulkan Under QML, die alle denselben benutzerdefinierten Inhalt rendern, nur über unterschiedliche native APIs.
© 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.