[請益] 有關openGL的文字輸出

看板GameDesign作者 (赤木巧☠)時間14年前 (2012/02/28 12:01), 編輯推噓2(203)
留言5則, 1人參與, 最新討論串1/2 (看更多)
函式大概長這樣 void DrawTextW(...){ ..... for(....){ wglUseFontBitmapsW(hDC, w_string[i], 1, list); glCallList(list); } ..... } //////main.cpp .......(矩陣轉換)..... glColor4f(1.0f, 0.0f, 0.0f, 1.0f); glRasterPos2f(0.0f, 0.0f); DrawTextW(L"繁體字測試"); 貼出文字沒什麼大問題,但問題在於glRasterPos2f這函數, 給值如果有負數或者大於視野範圍,就會整串貼不出來,而非正確的保留部分文字。 換言之,變成文字只能從左下座標0,0貼起, 要做往左跑馬燈離開的效果就會失敗(整串字瞬間消失,而非跑出)。 我知道這硬一點就用RTT的方式把文字轉成texture再偏移座標可以達成, 但碰到寬度大於螢幕寬的字串也不太好處理, 想確認一下是否有更簡單的方式可以達成。 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.146.19 ※ 編輯: xtxml 來自: 123.194.146.19 (02/28 12:01)

02/29 16:56, , 1F
C++的話看你要不要用 FTGL,用 texture 畫效能比較好
02/29 16:56, 1F

02/29 16:57, , 2F
純 C 又跨平台的話可以用 pango 把字串畫到 pixmap
02/29 16:57, 2F

02/29 16:58, , 3F
pango-cairo
02/29 16:58, 3F

02/29 16:59, , 4F
個人推pango-cairo 的原因是它支援 pango markup 樣式 XD
02/29 16:59, 4F

02/29 17:02, , 5F
不過在 Windows 上用的話 dependency 應該會肥不少
02/29 17:02, 5F
文章代碼(AID): #1FJ55-me (GameDesign)
文章代碼(AID): #1FJ55-me (GameDesign)