2011-01-12 45 views
3

我打算用OpenGL繪圖文字和無法弄清楚如何我會得到它來繪製/構建實際的字符串。如果我想畫的「Hello World」,我可以爲每個字母創建紋理,並吸引他們所有,但我知道有必須是一個更簡單的方式「拉」出了正確的字符集一下子再畫一次就好。我想我可以得到所有單獨的紋理,將它們添加到一個頂點數組中,然後只用一次調用繪製頂點數組來繪製,但這似乎效率低下。涵蓋這個特定部分的任何教程?Android的OpenGL繪圖文字

+0

你想只是一個2D串或他們實際上應該是3D的信嗎? – 2011-01-12 17:43:29

+0

只是2D。我不打算在很短時間內開始3D,直到我在2D中使用opengl工作。 – semajhan 2011-01-12 17:53:25

回答

2

假設你只想要2D字母出現在3D空間中的某一點,以正常的方式做,這是你所描述的一個。實際上,我會爲整個字符串創建一個位圖,然後將位圖繪製到場景中。這不是真正的低效率 - 實際上它是非常有效的,因爲你可以緩存文本的位圖,並且只計算一次,而不是每一個場景繪製時間。看起來很簡單的代碼很多,但OpenGL通常就是這樣。

2

我寫一個Android加載器和渲染器已經做了你在說什麼我的位圖字體生成器(CBFG)。

Android的源加載和顯示的字體是http://www.codehead.co.uk/cbfg/TexFont.java

的工具來創建自己的字體文件在http://www.codehead.co.uk/cbfg

基本上,所有的字體字形排列在一個位圖和字母通過渲染一系列相同的四邊形,每次更改UV座標以顯示所需的字母來繪製。

希望有所幫助。