我正在写一个简单的 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();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top