0

私は LWJGL と Java 1.6 をベースにした 2D RPG を 3 か月間開発してきました。私の次の目標は、ゲーム以外のものをすべて書くことです。これには、メニュー、テキスト入力ボックス、ボタン、インベントリやキャラクター情報画面などが含まれます。私はコンピュータ エンジニアリングの学生なので、単純な 2D ゲーム エンジンの作成について自分自身を「テスト」するために、すべてを自分で作成しようとしています (もちろん、LWJGL の OpenGL 部分は除きます)。このようなものをゼロから作成するには、基本的にテクスチャをクワッド (ボタンなど) にマッピングし、それらに何かを書き込んで、コード内の他のイベントをトリガーするマウス/キーボード イベントをテストする必要があることを知っています。

私が持っている疑問は次のとおりです。そのような要素をレンダリングするときに、VBO (実際のゲームのレンダリングに使用しているように) または即時モードを使用する必要がありますか? 即時モードでパフォーマンスが大幅に低下するかどうかはわかりません。もう 1 つのポイントは、インターフェイス要素をゲーム自体と同じくらい速く更新する必要があるかどうかです。私はそうは思いません。実際には何も動いていないからです... 実際のゲームはそのように作られていますか?

4

1 に答える 1

1

即時モードはタスクに対してより簡単です。キャッシングを気にする必要はなく、構成/バッチ処理を制御します。パフォーマンスの低下は、各グリフを別々の .xml で大量のテキスト (数千文字) をレンダリングしない限り、それほど大きくはありませんglBegin..glEnd。他の場所で VBO を使用していない場合は、テキスト出力用に試して、他のすべてをより簡単な即時モードで実行することをお勧めします。

GUI 要素はゲームの状態ほど頻繁には変更されないかもしれませんが、問題があります。カーソル操作が発生するたびに更新する必要がある場合があります (例: ボタンがOnMouseOverイベントを取得し、ハイライトでレンダリングする必要がある)。この種のイベントは非常に頻繁に発生する可能性があるため、フル スピードでのレンダリングが必要になる場合があります。

于 2012-10-14T06:00:18.587 に答える