题
我正在写一个简单的 OpenGL
应用程序的使用 GLUT
.我不想卷我自己的字体的渲染代码,而不是我想要使用简单位的字体船 GLUT
.什么步骤,以获得他们工作?
解决方案
简单的文字显示的是很容易做到在照片中使用过剩位的字体。这些都是简单的2D和字体 不 适用于显示 内部 你的3D环境。然而,他们是完美的文本,需要复盖在显示窗口。
这里都是样本的步骤,以显示埃里克*卡特曼最喜欢的报价绿色上的一个过剩窗口:
我们将设置栅格的位置在屏幕上的坐标。因此,设置突和modelview矩阵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();
不隶属于 StackOverflow