この記事のトピックは、Wikipediaの製品とサービスの特筆性に関するガイドラインを満たしていない可能性があります。トピックとは ( 2018年11月) |
| セギ | |
|---|---|
CEGUI を使用したゲームメニューの例 | |
| 原作者 | ポール・D・ターナー |
| 開発者 | CEGUIチーム |
| 初回リリース | 2004年12月 (2004年12月) |
| 安定版リリース | 0.8.7 (2016年4月28日) [±] [ 1 ] ( 2016-04-28 ) |
| 書かれた | C++ |
| オペレーティング·システム | Linux、OS X、Windows |
| タイプ | ウィジェットツールキット |
| ライセンス | MITバージョン0.5.0以前: GNU LGPL [ 2 ] |
| Webサイト | cegui |
| リポジトリ | |
Crazy Eddie's GUI ( CEGUI ) は、プログラミング言語C++用のグラフィカルユーザーインターフェース(GUI)ライブラリです。ビデオゲームのニーズに合わせて設計されていますが、アプリケーションやツールなど、ゲーム以外の用途にも使用できます。ルックアンドフィールの柔軟性を重視し、ユーザーが選択したツールやオペレーティングシステムに適応できるように設計されています。
CEGUIの強みは、その堅牢性[ 3 ]と設定の柔軟性です。システムは直接ファイルを読み込んだり、ウィンドウをレンダリングしたり、テキストを直接表示したり、システムから入力を取得したりすることはありません。CEGUIはユーザー定義コードを介してこれらのインターフェースを提供しますが、ソースコードパッケージには特定のコンポーネントやライブラリを使用するためのモジュールが多数含まれています。
この自由度により、CEGUI はあらゆる種類のリソース管理システムやオペレーティング環境で使用できます。入力はユーザーのコードによって収集され、必要に応じてフィルタリングされた後、CEGUI に渡されてウィンドウ処理が行われます。
CEGUI には、平均的なウィジェット ツールキットのウィジェットに匹敵する適切なウィジェット セットが付属しています。
CEGUIは、標準的な画像、XML、コード編集ツールを使用して完全にカスタマイズできます。また、CEGUIベースのインターフェースの設計と開発を支援するツールも提供しています。
0.8より前のCEGUIバージョンでは、インターフェースのさまざまな側面を編集するための個別のツールが提供されていました。その中で最も注目すべきは、イメージセットエディタとレイアウトエディタです。
CEGUI 0.8以降、CEGUI統合エディタ(CEED)と呼ばれる新しい統合編集ツールが登場し、活発に開発が進められています。[ 4 ]このツールは、GUI開発のあらゆる側面を1つのツールに統合しています。
レンダリングはバックエンドのレンダリングモジュールによって実行されます。CEGUIは、Direct3D、OpenGL、OGRE 3Dエンジン、Irrlichtエンジン用のモジュールを提供します。カスタムエンジン用のモジュールも作成可能です。
CEGUIのGUIコンポーネントはツリー(グラフ)[ 5 ]に編成されており、ツリーのトラバーサル順にレンダリングされます。
ファイルの読み込みとリソース管理は、バックエンドの「リソースプロバイダーモジュール」によって処理されます。ユーザーはカスタムモジュールを作成して、リソースへのアクセス方法を定義できます。これにより、このライブラリはほぼあらゆるオペレーティング環境で使用できます。デフォルトのリソースプロバイダーはクロスプラットフォームであり、リソースの読み込みに標準的なファイルアクセスメカニズムを提供します。オプションのminizipモジュールを使用すると、zipアーカイブからのリソース読み込みが可能になります。
CEGUIは柔軟なメモリ管理システムを備えています。このシステムはOGREをベースとしており、クライアントは異なるタイプのアロケータを異なるタイプのオブジェクトにマッピングできます。デフォルトでは、すべてのオブジェクトはオペレーティングシステムのデフォルトアロケータを使用します。CEGUIはOGREとnedmallocアロケータをサポートしています。
CEGUIにはオプションのバックエンドスクリプトモジュールがあります。CEGUIでは、 LuaおよびPythonスクリプトモジュールが提供されています。CEGUIの完全なアプリケーションプログラミングインターフェース(API)はスクリプト経由で利用できるため、クライアントはスクリプト環境内でウィンドウの作成、リレーションシップの定義、イベント処理などをすべて行うことができます。
CEGUIは、様々なウィジェットのルックアンドフィールを定義するための強力なシステムを備えています。Falagardと呼ばれるこのシステムでは、ユーザーが希望する場合はXMLファイルまたはC++コードを使用してウィジェットの外観を定義できます。また、任意のウィジェットのレイアウト動作を変更することもできます。
CEGUIにはアニメーションシステムが組み込まれています。このシステムにより、ウィンドウの移動やサイズ変更から、色変換や画像のシーケンスまで、多くの標準的なトランジション効果を実現できます。アニメーションはXMLで定義し、任意のイベントによってトリガーできます。クライアントは、ウィンドウのプロパティをキーフレームとして指定し、フレーム間のトランジション方法とフレーム間のトランジション時間を指定できます。
CEGUI はUnicodeに対応しており、オプションのバックエンドBidi モジュールを介して双方向言語をサポートします。このサポートはMiniBidiまたはFriBidiによって提供されます。
CEGUIは外部ライブラリに依存せずに構築できます。ただし、一般的な構成では、FreeType、レンダリングモジュール、XMLパーサーモジュール、画像コーデックモジュールが必要です。CEGUIはモジュール設計により、既に複数の外部ライブラリをサポートしています。
| タイプ | 名前 | 追加情報 |
|---|---|---|
| レンダリングモジュール | OpenGL 3.2+ コアプロファイル | プログラマブルレンダリングパイプラインを使用し、非推奨ではない機能のみを使用するため、OpenGLコアプロファイルコンテキスト(OpenGL 3.2以降で利用可能)と互換性があります。必要な機能が利用可能であれば、古いバージョンのOpenGLや互換性プロファイルでも使用できます。 |
| オープンGL | 固定機能レンダリングパイプラインを使用します。OpenGL拡張機能を使用することで、OpenGL 1.2などの非常に初期のOpenGLバージョンとの互換性を確保するように設計されています。 | |
| マイクロソフト Direct3D | Microsoft Direct3D 9、10、および 11 は、個別のモジュールを使用してサポートされます。 | |
| 鬼 | リリースでは最新の安定した Ogre バージョンがサポートされています。 | |
| イルリヒトエンジン | リリースでは、最新の安定した Irrlicht バージョンがサポートされています。 | |
| 画像コーデックモジュール | シンプルな画像読み込みライブラリ(SILLY) | SILLYライブラリをベースにしたデフォルトの画像コーデック。多くのフォーマットをサポートしています。[ 6 ] |
| 悪魔 | DevIL ライブラリに基づく画像コーデック。 | |
| 無料画像 | FreeImage ライブラリに基づく画像コーデック。 | |
| 鬼 | OGRE の画像読み込み機能を介してデータを読み込む画像コーデック。 | |
| リソースプロバイダーモジュール | デフォルト | CEGUIの内部リソースプロバイダーは、追加モジュールを必要とせずに使用できます。標準的なクロスプラットフォームのファイルアクセスを使用します。 |
| 鬼 | OgreユーザーはCEGUIのOgre ResourceManagerを使用できます。これにより、CEGUIのリソースの場所を、Ogreリソースの場合と同じ方法で指定できます。 | |
| ミニジップ | CEGUI の MinizipResourceProvider を使用すると、.zip ファイル内の場所からリソース ファイルを読み込む機能が提供されます。 | |
| XMLパーサーモジュール | 外国人居住者 | CEGUI のデフォルトの XML パーサー。XML解析には Expatライブラリを使用します。 |
| LibXML2 | XML 解析には LibXML2ライブラリを使用します。 | |
| ラピッドXML | XML 解析には RapidXml ライブラリを使用します。 | |
| タイニーXML | XML 解析には TinyXMLライブラリを使用します。 | |
| Xerces -C++ | XML解析にはXerces-C++ライブラリを使用します。CEGUIのリソースで提供される.xsdファイルを使用してスキーマを検証できます。 | |
| フォントモジュール | フリータイプ | FreeTypeは CEGUI のデフォルトのフォント ライブラリであり、現在唯一公式にサポートされているフォント ライブラリです。 |
| 正規表現モジュール | Perl互換正規表現(PCRE) | デフォルトの正規表現ライブラリであり、現在唯一公式にサポートされているライブラリです。PCRE を使用します。 |
| スクリプトモジュール | ルア | tolua++ を使用して lua バインディングを提供します。 |
| パイソン | 公式のPythonバインディングはPyCEGUI [ 7 ]から利用可能である。 | |
| メモリ管理 | 鬼 | Ogre のメモリ アロケータは、オプションで CEGUI のメモリ管理に使用できます。 |
| ネドマロック | nedmalloc はオプションでメモリアロケータとして使用できます。 | |
| 双方向言語モジュール | ミニBIDI | CEGUI の Bidi ビジュアル マッピングの MiniBIDIベースの実装。 |
| 金曜日[ 8 ] | CEGUI の Bidi ビジュアル マッピングの FriBIDIベースの実装。 |
Ogre3DライブラリはUIにCEGUIライブラリに依存していましたが[ 9 ]、Ogre3Dはその後、よりスリムですが機能も少なくなっている独自のUIソリューションを組み込むように変更されました。
| バージョン | 発売日 |
|---|---|
| 0.1.0 | 2004年12月19日[ 10 ] |
| 0.1.1 | 2005年1月23日 |
| 0.2.0 | 2005年2月17日 |
| 0.2.1 | 2005年5月30日 |
| 0.3.0 | 2005年6月30日 |
| 0.4.0 | 2005年9月7日 |
| 0.4.1 | 2005年11月26日 |
| 0.5.0 | 2006年11月6日 |
| 0.6.0 | 2008年3月27日 |
| 0.6.2 | 2008年12月3日 |
| 0.7.0 | 2009年9月20日 |
| 0.7.1 | 2009年10月26日 |
| 0.7.2 | 2010年8月29日 |
| 0.7.3 | 2010年10月8日 |
| 0.7.4 | 2010年10月11日 |
| 0.7.5 | 2010年11月20日 |
| 0.7.6 | 2012年1月22日 |
| 0.7.7 | 2012年6月23日 |
| 0.7.8 | 2013年1月8日 |
| 0.7.9 | 2013年1月13日 |
| 0.8.0 | 2013年5月26日 |
| 0.8.1 | 2013年6月5日 |
| 0.8.2 | 2013年6月12日 |
| 0.8.3 | 2013年12月7日 |
| 0.8.4 | 2014年7月7日 |
| 0.8.5 | 2016年3月12日 |
{{cite book}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク){{cite book}}: CS1 メンテナンス: その他 (リンク)