1. ホーム
  2. android

[解決済み] OpenGL ESでテキストを描画する

2022-06-22 03:50:14

質問

現在、Android プラットフォーム用の小さな OpenGL ゲームを開発していますが、レンダリング フレームの上にテキストをレンダリングする簡単な方法はないでしょうか (プレイヤーのスコアなどを表示する HUD のようなものです)。テキストは、カスタム フォントも使用する必要があります。

オーバーレイとしてビューを使用する例を見たことがありますが、後でゲームを他のプラットフォームに移植したいかもしれないので、それをやりたいかどうかはわかりません。

何かアイデアはありますか?

どのように解決するのですか?

Android SDK には、OpenGL ビューにテキストを描画する簡単な方法は付属していません。次のような選択肢が残されています。

  1. TextViewをSurfaceViewの上に配置します。 これは遅くて悪いですが、最も直接的な方法です。
  2. 共通の文字列をテクスチャにレンダリングし、それらのテクスチャを単純に描画します。 これは圧倒的にシンプルで高速ですが、最も柔軟性に欠けます。
  3. スプライトをベースにしたロールユアオウンテキストレンダリングコードです。 2がオプションでない場合、おそらく2番目に良い選択です。シンプルに見えますが (そして基本的な機能はそうです)、機能を追加するにつれて難しくなり、より困難になることに注意してください (テクスチャアライメント、改行の処理、可変幅フォントなど)- このルートを取るなら、できる限りシンプルにしてください!
  4. 既製/オープンソースのライブラリを使用する。 Googleで探せばいくつかありますが、やっかいなのはそれらを統合して動かすことです。しかし、少なくとも、一度そうすれば、それらが提供するすべての柔軟性と成熟度を手に入れることができます。