要在屏幕上顯示文本可以使用Windows自帶字體進行渲染.比起之前使用『點陣字體』方便簡潔很多,但此方法只式用於Windows.演示程式可輸入英文字符,下載程式:
1.創建96個顯示列表IDs,存儲生成的字符位圖
UINT base;// 顯示列表的BASE ID
base = glGenLists(96);//創建大小為96BYTE的顯示列表
2.創建顯示列表後,使用CreateFont()創建字體
HFONT font;// 字體句柄
font=CreateFont(12,0,0,0,FW_BOLD,FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,FF_DONTCARE | DEFAULT_PITCH,”Courier”);
3.為字體選擇一個設備環境
SelectObject(hDC,font);
4.從系統載入字體文檔並生成位圖.
wglUseFontBitmaps(hDC,32,96,base);
5.設定屏幕位置
glRasterPos2i(xPos,yPos);
7.顯示列表屬性壓棧
glPushAttrib(GL_LIST_BIT);
6.載入顯示列表ID
glListBase(base-32);
7.渲染文本
glCallLists((int)strlen(text),GL_UNSIGNED_BYTE,text);
8.顯示列表屬性出棧
glPopAttrib();