19
我正在編寫一個使用GLUT
的簡單OpenGL
應用程序。我不想滾動自己的字體渲染代碼,而是想使用GLUT
附帶的簡單位圖字體。有什麼步驟讓他們工作?使用GLUT位圖字體
我正在編寫一個使用GLUT
的簡單OpenGL
應用程序。我不想滾動自己的字體渲染代碼,而是想使用GLUT
附帶的簡單位圖字體。有什麼步驟讓他們工作?使用GLUT位圖字體
簡單的文本顯示很容易在OpenGL中使用GLUT位圖字體來完成。這些都是簡單的2D字體,並且是而不是適合顯示裏面的您的3D環境。但是,它們非常適合需要覆蓋在顯示窗口上的文本。
下面是樣本步驟顯示埃裏克Cartman的最喜歡的格言在綠色供應過剩窗口:
我們將設置在屏幕座標光柵位置。因此,設置用於2D渲染的投影和模型視圖矩陣:
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, WIN_WIDTH, 0.0, WIN_HEIGHT);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
設置字體顏色。 (現在設置,不晚於)。
glColor3f(0.0, 1.0, 0.0); // Green
設置文本應顯示的窗口位置。這是通過在屏幕座標中設置光柵位置來完成的。窗口的左下角是(0,0)。
glRasterPos2i(10, 10);
設置字體,並顯示使用glutBitmapCharacter字符串的字符。
string s = "Respect mah authoritah!";
void * font = GLUT_BITMAP_9_BY_15;
for (string::iterator i = s.begin(); i != s.end(); ++i)
{
char c = *i;
glutBitmapCharacter(font, c);
}
還原矩陣。
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
+1觀看南公園 – 2012-10-13 14:18:44