「Hello Vulkan Cubes」サンプル
QVulkanWindow の使用基本を解説します。
「Hello Vulkan Cubes」サンプルでは、QVulkanWindow のより高度な使用法を示しています。

このサンプルでは、ファイルから読み込まれたメッシュと、2 種類のマテリアル、およびそれに対応するグラフィックスパイプラインが使用されています。角が丸いキューブはインスタンス化を使用して描画され、単一の方向光を用いたフォン照明モデルが採用されています。
hellovulkantexture や hellovulkantriangle とは異なり、ここではユニフォームバッファの処理に別のアプローチが採用されています。つまり、複数のデскриプタセットの代わりに、動的ユニフォームバッファが使用されています。
このサンプルでは、QtConcurrent::run()、QFuture 、およびQFutureWatcher をQVulkanWindow と組み合わせて使用する方法を実演しているため、QtConcurrentが必要です。メッシュおよびシェーダーデータの読み込み、処理負荷が高くなりがちなグラフィックスパイプラインの構築、およびフレームコマンドバッファの生成は、すべて個別のワーカースレッドで行われます。
シーンはウィジェットベースのユーザーインターフェースに組み込まれています。QVulkanWindow のサブクラスは、シーン内を移動できるように一人称視点のカメラを提供しているため、マウスやキーボードの入力も処理します。
例の動作
このサンプルは、以下の手順で実行できます。
- Qt Creator
Welcome モードを開き、Examples からこのサンプルを選択してください。詳細については、Qt Creator の「チュートリアル:ビルドと実行」を参照してください。
- Qt Extension for Visual Studio Code
Command Palette から「Qt: Open Qt examples 」コマンドを実行し、リストからこのサンプルを選択します。詳細については、Qt Extension for Visual Studio Code の「チュートリアル:ビルドと実行」を参照してください。
© 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.