私の会社は、テクノロジのデモ用に「一般的な」デモ インフラストラクチャが必要であると判断しました。JOGL または OpenGL を使用してこれを記述し、独自のフレームワークを作成できることを考えると、車輪の再発明はしたくありません。しかし、世の中には非常に多くの 3D gfx エンジンと、非常に多くの OpenGL ラッパーがあります。
基本的に、3D グラフィックスを使用して地形をレンダリングし、単純なモデルを配置します。彼らの要件は、見栄えが良く、クロスプラットフォームであることです。
基本的に、これが従う範囲とパラダイムを自由に決めることができますが、私は次のことを考えていました: - 3D モデルを読み込んでフルスクリーンまたはウィンドウモードでレンダリングできるようにする - カメラを制御して、結果のシーンを「飛ぶ」ことができます。- すべての上にビルボード メッセージを表示/非表示にすることができます。つまり、画面に固定され、常にカメラに面している 2D テキストと画像です。- オブジェクトの表示/非表示、ハイライト カラーの変更 (赤く塗るなど) など、シーンの一部について簡単なことを変更できる。- 必要に応じて、既存のスクリプト言語を作成または使用して、イベント処理と事前にプログラムされたアニメーションを挿入しようとしています。
ユース ケースの例: - 当社の誰かが、いくつかの建物を含む地形の 3D モデルを準備し、基本的にシーンとそのオブジェクトを記述する XML のようなファイルを生成します。- 次に、彼は私のプログラムを使用して地形を飛行し、「関心のある」いくつかのカメラ位置を記録します。- 次に、それらの位置の一部をキーボードのキーや既存の GUI ボタンにバインドします。- フローティング テキストをいくつか追加します。- 彼は私のプログラムを使用してデモを行い、彼の 3D モデル ファイルとスクリプト ファイルをロードし、選択したカメラ ポーズの 1 つから次のポーズへと聴衆と一緒に「飛行」を開始できます。カメラの位置...ボタンをクリックすると、地形上のいくつかの建物が赤くハイライトされます...など。
- OpenGL と JOGL のほか、XNA Game Studio の経験もあります。
- 可能な限りプラットフォームに依存しないように、Java を使用したいと考えています。
私は何をすべきか?