私はOpenGLを使ってテキストを描画する予定でしたが、実際に文字列を描画する方法を理解できませんでした。 「Hello World」を描きたければ、各文字のテクスチャを作成してそれらをすべて描画することができますが、正しい文字セットを一度に「引き出し」て一度描画するという簡単な方法があるはずです。私は、別々のテクスチャをすべて取得して頂点配列に追加し、描画する呼び出しを1つのみ使って頂点配列を描画することができると考えましたが、効率が悪いようです。この特定のセクションをカバーするチュートリアルはありますか?Android OpenGLの描画テキスト
答えて
3D空間内の特定のポイントに2D文字だけを表示すると仮定すると、これを行う通常の方法があなたの説明です。まあ実際に私は文字列全体のための単一のビットマップを作成し、シーンにビットマップを描画します。実際には非効率的ではありません。実際には、テキストのビットマップをキャッシュし、シーンが描画されるたびに1回計算するだけで済み、非常に効率的です。シンプルなコードのように思えますが、OpenGLはそれによく似ています。
それはこのポストに似たものでしょうか:http://stackoverflow.com/questions/3075700/draw-text-in-iphone-opengl-es-using-just-objective-c – semajhan
本当に。組み込みの関数を使用して、2Dのテキストをビットマップに描画し、ビットマップをGLシーンに描画することをお勧めします。 – DJClayworth
あなたが話していることをする私のビットマップフォントジェネレータ(CBFG)用のAndroidローダーとレンダラーを書いてあります。
ロードし、フォントを表示するにはAndroidのソースは、基本的にはhttp://www.codehead.co.uk/cbfg
で、すべてのフォントのグリフが単一のビットマップや文字の上に配置されているされて、独自のフォントファイルを作成するためにhttp://www.codehead.co.uk/cbfg/TexFont.java
ツールであります必要な文字を表示するたびにUVコードを変更する一連の同一の四角形をレンダリングすることによって描画されます。
希望に役立ちます。
- 1. SFML OpenGL描画テキスト
- 2. OpenGl ES 2D Android再描画
- 3. androidでOpenGL描画テキストを使用する
- 4. OpenGL ES 2(Android)ビットマップを描画
- 5. OpenGL描画時間
- 6. AndroidとOpenGL ES 2.0で正方形にテキストを描画する方法
- 7. OpenGLとAllegro 5を使用したテキストの描画
- 8. Android Opengles CameraPreview(カメラフィードにテキストを描画)
- 9. OpenGL ES 1.0を使用したAndroidでのオフスクリーン描画のオプション?
- 10. 0,0座標からOpenGL Androidのテクスチャを描画します
- 11. OpenGL ES 1.0を使用したAndroid上の描画線
- 12. Android NDK:android_main以外のスレッドでOpenGL描画呼び出し
- 13. AndroidでOpenGL ES描画の背景色を止めるには?
- 14. C#描画テキスト
- 15. PythonでGLUT/OpenGLでテキストを描く
- 16. OpenGLの描画矩形の輪郭
- 17. OpenGL ESでの描画の問題
- 18. forループのOpenGL描画四角形
- 19. DirectX/OpenGLの三角形描画順序
- 20. iPhoneの描画アプリケーション(OpenGLではない)
- 21. OpenGL ES 2.0での2D描画(iOS)
- 22. OpenGLでQtのウィジェットを描画する
- 23. OpenCL - 描画するOpenGLテクスチャのクラッシュ
- 24. OpenGL ESの単一ピクセル描画アンドロイド
- 25. OpenGL複数のオブジェクトを描画する
- 26. OpenGL描画数千の2Dサークル
- 27. OpenGLで別のアプリケーションウィンドウに描画
- 28. ビットマップ上にテキストを描画
- 29. Android。 OpenGL ESは、正投影で画面サイズを描画します
- 30. XYChartの描画テキストと行
2D文字列だけを必要としますか、実際には3D文字にする必要がありますか? –
2Dのみ。私は3DでOpenGLを使って作業するまで、すぐに3Dを開始するつもりはありません。 – semajhan