Superbibleを使用してFreeGLUTでOpenGLを学習し始め、スキルを磨くために基本的なグラフィックスから得た知識を使用しています。
この経験をさらに活用するために、FreeGLUTが使用するものを上書きするためにGUIを統合したいのですが、今私の質問は次のとおりです。
ライブラリのいくつかの特徴:
- オープンソース
- マルチプラットフォーム(LinuxおよびWindows)
- C / C ++
他に推奨事項がある場合は、私の問題に対する回答とともに自由に投稿してください。
Superbibleを使用してFreeGLUTでOpenGLを学習し始め、スキルを磨くために基本的なグラフィックスから得た知識を使用しています。
この経験をさらに活用するために、FreeGLUTが使用するものを上書きするためにGUIを統合したいのですが、今私の質問は次のとおりです。
ライブラリのいくつかの特徴:
他に推奨事項がある場合は、私の問題に対する回答とともに自由に投稿してください。
回答:
Crazy EddieのGUI(CEGUI)は人気があり、既存のレンダラーバックエンドのいずれかを使用するか、OpenGLがサポートするAPIを使用して独自のターゲットを記述できます。オープンソース、マルチプラットフォーム、C ++です。ただし、一貫性を重視しています。これは常にゲームのUIの原則として適切ではないため、1か所で多数のカスタムコントロールが使用される場合があります。
最近人気のあるパターンは、即時モードGUI(IMGUI)です。これは、「GUIライブラリなし」のようなものです。プラスとマイナスがあります-非常に簡単ですが、最適化が難しい場合があり、コンボボックスやツリービューなどの高度なコントロール用の本当に良いIMGUIモデルをまだ見ていません。IMGUIウィンドウシステムの良い実装も見ていません(そして、私はそれを書くのに少し時間を費やしましたが、私は決して満足していませんでした)-しかし、それは単純なHUD要素に優れており、1回限りの制御を行うのは簡単です。
私は最近グウェンに出くわしました。これは、Gary's Modの作者によって書かれたGUIライブラリです。優れたゲームライブラリがそうであるように、MITライセンスです。
ライブラリにはいくつかのことがあります。
ただし、ここでの短所は次のとおりです。
返信が遅くなってすみませんが、GGと呼ばれるOpenGL UIフレームワークをご覧ください。GGはFreeOrionプロジェクトの一部として開発され、SVNリポジトリ(およびダウンロード可能なSDK)に含まれています。かなり能力があるようです。以下にスクリーンショットを掲載しました。画像をクリックしてフルバージョンを表示できます。
AntTweakBarを見てください。これはCinderによって使用されています。作業中のCinder用に開発された新しいGUIライブラリ、SimpleGUIもあります。
あなたはHTML + CSSを移動したい場合がありAwesomium(で使用される彼らのオーバーグロースゲームでWolfireゲーム)と呼ばれる無料の代替バークリウムは。
私はQuickGUIとMyGUIの両方をいじっていました。どちらも最近、ogre要件を削除したOgre GUIライブラリです。どちらもまだあまり経験がありませんが、QuickGUIはずっと小さくてシンプルなので、QuickGUIを使い続けるようです。
QuickGUI wikiが最新のOgreフリーバージョンを指すようにまだ更新されているかどうかはわかりません。これが最新リリースです。
http://www.stormsonggames.com/downloads/QuickGUI_10_8.zip
リポジトリにはクロスプラットフォームの更新がいくつか見られているため、svnを直接使用する方が良いでしょう。
http://stormsonggames.com/svn/SSE/Gaia2/QuickGUI
http://stormsonggames.com/svn/SSE/Gaia2/QuickGUIOgreDemo
http://stormsonggames.com/svn/SSE/Gaia2/QuickGUIOgrePlatform
ユーザー名:匿名
パスワード:QuickGUI
最後に、異なるレンダリングバックエンドを追加する方法に関する短いwikiがあります。 http://www.ogre3d.org/tikiwiki/QuickGUI+Integration+Tutorial
MyGUIは、肥大化するという犠牲を払ってより多くの機能を備えているようです。そして正直なところ、シンプルさが要求されない場合、CEGUIは MyGUIを使い果たします。
QTはクロスプラットフォーム、C ++であり、LGPLライセンスでオープンソースバージョンを入手できるため、QTをお勧めします。また、使いやすく、使用できる多くのコンポーネントがあらかじめ用意されています。
クリエーターはそう言って私を撃つかもしれませんが、クロスプラットフォームのGUIフレームワークを作成するのにGLFWは素晴らしいと思いました。GLFWの開発者は、GLFWがGUIを処理していないことを続けています。それはないしかし、グラフィックス、イベントやマウス/キーボード/ジョイスティックのタスクを処理する、素敵な、シンプルでクリーンで完全にポータブル仕事をします。
GLFWの良い点は、かなり小さいこと、システム固有のコード、GLUT を必要とせず、よく管理されていることです。これまでのところ、OpenGL 4.1プロジェクトでの使用は安定しています。SDLのようなものと比較して、私は小さなオーバーヘッドが好きで、GUIハンドラクラスを書くのは簡単でした。
または、FLTKをご覧ください。あらゆる種類のものに使用でき、非常に簡単に再利用できます。これは実際にアプリケーションの構築に使用されますが、3Dオブジェクトを完全に処理でき、OpenGL上に構築されます。非常に小さく、十分にサポートされており、ゲームデザインレベルでカスタムインターフェイスを作成している人はあまりいませんが、うまくいくように見える人もいます。