opengl中繪製文字的時候遇到了亂碼問題

2022-03-21 09:30:51 字數 614 閱讀 8737

在工程中用opengl會座標系之後需要進行相應的標註,開始使用的**如下所示:

wglusefontbitmaps(wglgetcurrentdc(),0,256,1000);//將asii碼字元裝入顯示列表

gllistbase(1000);

glrasterpos3f(0.525*m_scale,(glheight/m_percent)/2*m_scale,0.0f);

glcalllists(4,gl_unsigned_byte,l"5200");

關於以上幾個函式的引數的作用詳見

得到的文字繪製總是出現亂碼,如圖1所示:

後來對著**仔細核對,發現是glcalllists(4,gl_unsigned_byte,l"5200");中使用了unicode字串的編碼方式

當把最後一句**改為:glcalllists(4,gl_unsigned_byte,"5200");顯示結果正常

OPENGL繪製文字

opengl沒有提供直接繪製文字的功能,需要借助於作業系統。用opengl繪製文字比較常見的方法是利用顯示列表。建立一系列顯示列表,每個字元對應乙個列表編號。例如,a 對應列表編號1000 a b 對應列表編號1000 b 以此類推。繪製乙個字串時,依次呼叫字串中每個字元所對應的列表編號。在wind...

canvas中繪製文字

canvas提供兩種文字渲染方式 filltext text,x,y maxwidth 在指定的 x,y 處填充文字,繪製的最大寬度是可選的 stroketext text,x,y maxwidth 在指定的 x,y 處繪製文字邊框,繪製的最大寬度是可選的 屬性 font value 當前繪製文字的...

OpenGL繪製隨機的山脈輪廓

三維圖形程式設計作業 使用遞迴的方式生成隨機的山脈輪廓 執行結果 x n取奇數,設定陣列大小即最大用於描繪山的點的數目 define n 1001 float a n 2 int b n 底兩點座標 float d 2 2 float t 2 int randomp int t1,int t2 vo...