シーングラフ - QML下のDirect3D 11
Qt Quick シーン下で Direct3D 11 を直接レンダリングする方法を紹介します。
Direct3D 11 Under QML の例では、アプリケーションがQQuickWindow::beforeRendering() シグナルを利用して、Qt Quick シーンの下にカスタム D3D11 コンテンツを描画する方法を示します。このシグナルは、シーングラフがレンダリングを開始する前の、各フレームの開始時に発行されます。したがって、このシグナルへの応答として行われる D3D11 の描画コールは、Qt Quick のアイテムの下でスタックされます。
別の方法として、Qt Quick シーンの上に D3D11 コンテンツをレンダリングしたいアプリケーションは、QQuickWindow::afterRendering() シグナルに接続することでレンダリングできます。
この例では、D3D11 のレンダリングに影響を与える値を QML に公開する方法を説明します。QMLファイル内のNumberAnimation を使ってしきい値のアニメーションを行い、この値はスクエアを描画するHLSLシェーダプログラムで使用されます。
この例は、OpenGL Under QML、Metal Under QML、Vulkan Under QMLの例とほとんど同じで、ネイティブAPIが異なるだけで、同じカスタムコンテンツをレンダリングします。
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。