HGE使用GDI繪製中文字體

其實這個沒什麼技術含量。這個技術在我自己的引擎Edge2d中被實現了,這裏把其核心部分遷移到HGE中。

 

大致原理就是:利用GDI將文字信息寫到HGE的紋理上(本質也就是DX8紋理),然後再繪製HGE紋理到屏幕上。關鍵效率的處理在於,使用一個緩存保存這些紋理。每次繪製一個文字時,就查詢該文字對應的紋理是否被創建,是的話就直接從緩存中取出紋理然後繪製,否的話就立即創建該紋理並保存紋理到緩存中。

 

核心思想也就是這樣,這裏上傳個DEMO,有興趣的人可以拿去完善。我是純碎無聊,隨便寫寫。其實這個方法跟之前使用Free Type原理是一樣的。只不過這個方法是使用的GDI來繪製字體到紋理。考慮到HGE本身就是基於WINDOWS平臺的,所以這裏使用GDI完全不存在跨平臺的因素----本身HGE就不跨平臺,作爲其擴展,當然也沒必要跨平臺了。

 

順便打個廣告,Edge2d是跨平臺的。但是其插件可以不跨平臺,所以Edge2d中使用這個技術實現的TTFont插件也就僅在WINDOWS平臺炫炫了。

demo下載(含代碼):

http://blog.blogwhy.com/azjex/upload/hgegdifont.rar 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章