Monthly Archives: August

Qt Quick 3D:簡単・高速な新しい3D API

Published Friday August 30th, 2019 | Leave a comment
Posted in Qt, Qt Quick, Uncategorized

Technical Vision for Qt 6 blog postの記事の中でCTOのLarsが述べたように、私たちはQt Quickの中で3D表現を実現するより良い方法の研究を続けてきました。その結果、Qt Quick 3Dという新しいプロジェクトを立ち上げるに至りました。Qt Quick 3Dは、Qt Quickの中でユーザーインターフェイス用の3Dコンテンツを作成するための、ハイレベルなAPIを提供します。 アニメーションの同期の不具合やソフトウェアの複雑化につながりうる外部エンジンを使うのではなく、Qt Quick シーングラフ自体の3Dコンテンツ向け拡張および拡張されたシーングラフノードの描画エンジンを提供しています。 これは、Qtにこれまでとは異なる新しい3Dソリューションを作ったということなのでしょうか? いいえ、実は必ずしもそういうわけではありません。コアとなる3D描画エンジンはQt 3D Studioの描画エンジンから派生したものだからです。この描画エンジンは、Qtのマルチプラットフォーム対応のために移植され、Qtプロジェクトのコーディングスタイルに合わせてリファクタリングされています。 Qt Quick 3Dで描画された”San Miguel”テストシーン 新しい3Dソリューションを提供する五つの理由 2D/3Dグラフィックスの一体化 究極の目標は2D/3Dにかかわらずシームレスな描画を実現することです。現在Qtでは、2Dおよび3Dのそれぞれにスムースなユーザーインターフェイスを作成するための異なるソリューションを提供しており、それぞれに対応するツールがあります。その一つが2D用のQt Quickで、もう一つが3D用のQt 3D Studioです。 このどちらか一方しか使用しないのであれば、全く問題はありません。しかし、これらを併用した場合、実行時のパフォーマンスや開発効率に問題があることがわかりました。 そのため、私達は一つの言語(Qt Quick)、一つの描画エンジン(Qt Quick Scenegraph)、一つのデザインツール(Qt Design Studio)というシンプルなソリューションを目標にすることにしました。これにより、機能やパフォーマンスや開発効率といった問題をすべて解決することができます。さらに私たちの開発リソースを集中することができるので、より多くの機能やより早いバグ修正も実現可能になります。 直感的で簡単なAPI Qt Quick 3Dのもう一つの目標は、コンピュータグラフィックスの細かな知識がなくても3Dコンテンツを定義できるAPIを提供することです。ほとんどの場合、アプリケーションごとに3D描画エンジンの細かな調整は必要はなく、どちらかというと2Dと並べてちょっとした3Dコンテンツを表示させたいだけであったりします。私たちは、このことを念頭に置いて、Qt Quick 3Dを開発してきました。 とはいえ、パワーユーザーの要望にも応えるべく、より高度なケースに使えるレンダリングAPIを更に公開していく予定でもあります。 現時点では、QML APIのみを提供していますが、将来的にはC++ APIを公開することを目標としています。 Qt Quick開発ツールの統合 Qt Quick 3DはQt 3D Studioの後継として企画されています。当面の間、Qt 3D […]

Read More
Get started today with Qt Download now