Qt5についての調査


半日使って,libRocketとAntTweakBarとChromium Embedded Frameworkについて利用をあきらめて,四番目に検討を始めたのがQtです.こんどこそうまくいくかもしれません.

噂には聞いていましたが,なかなかよくできているようです.ぼくが特に興味をもっている点について,ちょこちょこメモしておきます.

もっとも気になるOpenGL Core Profileのサポートですが,大丈夫みたいです.OpenGLバージョンの指定もできそうです.できるどころが,GLEW/GLLoaderGen/glbindingのようなAPI関数を読み込む機能を内蔵しているようです.QOpenGLFunctions_M_N_Coreというクラスが提供されていて,OpenGL Version M.N が提供する関数を簡単にアクセスできるようです.

現在のGLFW3ベースのデバッグで活躍しているglDebugMessageCallbackに相当する機能としてQOpenGLDebugLoggerというクラスが提供されています.これによりOpenGLサーバ(つまり,GPUでの処理のこと)でのエラーを容易に検出できそうです.

OpenGLプログラミングでは3Dグラフィックスの計算が必要になります.そのために今はglm (OpenGL Mathematics Library)を利用しているのですが,ほぼ同等の機能がQMatrix4x4, QVector{2, 3, 4}D, QQuaternionクラスで提供されているようです.

最後に,QtWebKitWidgetsクラス.ウェブをクロールして入手したデータセットなどを扱うときには,元になったウェブサイトを見せたくもなります.そのようなときに利用できそうです.

QtWebKitWidgetsクラスからはJavaScriptエンジンもアクセスできます.実は現在のシステムはアプリケーションのパラメタの初期設定をするためにNode.JSを起動してJSONファイルで初期パラメタの受け渡しをしています.この処理部分を内蔵することで,システムを簡素化できるかもしれません.

現状のCMake設定と見比べると,ほかに利用しているモジュールはないので,ひょっとすると恐しく単純な構成になるかもしれません.あとはちゃんと動くことを確認すること.