1

私はアプリを持っています.GLKitでopenglesを使った小さなゲームです。画面にテキストを描画したいときにどのように機能するのか疑問に思っていません(可能であれば)。

どうすればできますか?

画像を使用してすべてのゲーム オブジェクトを描画します (ある種のスプライトでラップ)。スケーリング、移動、回転が可能です。すべて正常に動作します。

しかし、そのglkviewにテキストを出力する方法を見つけると、問題の奥深くにたどり着きます^^

glkview で uiimages を表示する方法も知らないため、uiimages を使用したくありません。

4

2 に答える 2

0

必要なことを行うには、いくつかの方法があります。

1) 必要なすべてのテキストグリフを含む画像を用意します。たとえば、アプリケーションが英語の場合、画像には 26 個の大文字と 26 個の小文字が含まれます。そのテクスチャを GPU にアップロードし、適切なテクスチャ座標を使用するか、glSubTexImage2d()必要なグリフを引き出します。(これがUIImageを望まないという意味であるかどうかはわかりません.UIImageである必要はありませんが、おそらく最も簡単です。)

2) テキストを表示する必要があるたびに、オンザフライで CPU に描画し、単語、フレーズ、または文全体をテクスチャとしてアップロードします。を作成し、CGBitmapContextCore Graphics を使用してテキストを描画できます。次に、を使用してアップロードしglTexImage2D()ます。

3) フォントから個々のグリフを取得し、グリフを構成するベジエ曲線を使用して直接描画します。これにより、3D 押し出しも可能になります。ただし、このオプションはコーディングに最も時間がかかり、おそらくパフォーマンスが最も低くなります。また、フォントが持つ多くの小さな問題 (縮退したセグメントや誤った巻き順など) に対処することも含まれます。もしあなたがこの道をたどりたいのなら、Core Textが助けになると思います。

于 2013-05-07T22:15:50.730 に答える