Graphique de scène - Direct3D 11 sous QML

Montre comment effectuer un rendu directement avec Direct3D 11 sous une scène Qt Quick.

L'exemple Direct3D 11 Under QML montre comment une application peut utiliser le signal QQuickWindow::beforeRendering() pour dessiner un contenu D3D11 personnalisé sous une scène Qt Quick. Ce signal est émis au début de chaque image, avant que le graphique de la scène ne commence son rendu, de sorte que tous les appels de dessin D3D11 effectués en réponse à ce signal s'empilent sous les éléments Qt Quick.

Par ailleurs, les applications qui souhaitent effectuer un rendu D3D11 au-dessus de la scène Qt Quick peuvent le faire en se connectant au signal QQuickWindow::afterRendering().

Dans cet exemple, nous verrons également comment il est possible d'avoir des valeurs exposées à QML qui affectent le rendu D3D11. Nous animons la valeur du seuil à l'aide d'une adresse NumberAnimation dans le fichier QML et cette valeur est utilisée par le programme shader HLSL qui dessine les écureuils.

L'exemple est équivalent dans la plupart des cas aux exemples OpenGL Under QML, Metal Under QML, et Vulkan Under QML, ils rendent tous le même contenu personnalisé, juste via des API natives différentes.

Exemple de projet @ code.qt.io

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