6

OpenGL ES 2.0 でテキストを表示する方法について、Web でのサポートが明らかに不足しているようです。JVitela の回答: Draw text in OpenGL ESでは、Canvas を使用し、その上に Text をペイントしてビットマップを生成し、GLUtils を使用してテキスト ビットマップをレンダリングするように指示されていますが、回答はテキストのペイントに関する直接の部分のみを示しており、テキストのペイントに関する部分のみを示しています。他に何がありますか。

また、 http://www.learnopengles.comのレッスンもやめようとしています。この場合、基本的なテクスチャを扱うレッスン 4 です。

JVitela のメソッドは頂点シェーダーまたはフラグメント シェーダーにどのように渡されますか? 背景に関するセクションは必要ですか、それとも背景を除外すると、GL サーフェスの残りの部分にテキストだけが表示されることになりますか? textures彼が使用した変数は正確には何ですか? 私はそれがテクスチャ データ ハンドルだと思います (彼の bind() を Learnopengles のそれと比較します) が、なぜ配列なのですか? 他のテクスチャと共有されますか?

私はすでに OpenGL ES 2.0 で大量のものが表示されているプログラムを持っており、いくつかの基本的なテキスト (静的なもの、1 ~ 5 Hz ごとに更新されるもの) をその上に印刷する必要があります。私の理解では、テクスチャ マッピング ビットマップ グリフは非常に高価です。

必要なことを行うための優れたチュートリアルはありますか? 誰かからのアドバイスはありますか?

4

1 に答える 1

2

JVitela のメソッドは頂点シェーダーまたはフラグメント シェーダーにどのように渡されますか?

他のテクスチャと同じように渡されます。

  1. テクスチャを作成する
  2. フィルタリングとラッピングを設定する
  3. 経由でデータをアップロードGLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);

背景に関するセクションは必要ですか、それとも背景を除外すると、GL サーフェスの残りの部分にテキストだけが表示されることになりますか?

必須ではありません (背景だけが存在します)。これを省略すると、黒のピクセルが書き込まれます (コードはビットマップ ピクセルを黒で消去するため)。テキストを描画するだけの場合は、ブレンドを有効にするか、使用する必要があります。テキストの色を知っている特別なシェーダー。

彼が使用した textures 変数とは正確には何ですか?

です。GL10 の API ドキュメントをint[1]参照してください。

私はそれがテクスチャ データ ハンドルだと思います (彼の bind() を Learnopengles のそれと比較します) が、なぜ配列なのですか? 他のテクスチャと共有されますか?

このように、 を使用して複数のテクスチャ ハンドルを作成できますglGenTextures

于 2012-05-10T05:25:33.547 に答える