使用glutStrokeString而不是glutBitmapString时出现问题

时间:2011-01-20 12:35:32

标签: opengl glut freeglut

我正在编写我的第一个OpenGL程序(在C中使用freeglut)。我的显示功能中有以下代码,可以很好地工作并打印出灰色的文本:

glColor3f(0.5f, 0.5f, 0.5f);
glRasterPos2f(0, 0);
glutBitmapString(GLUT_BITMAP_HELVETICA_12, (unsigned char*)"some text");

现在我想尝试使用glutStrokeString而不是glutBitmapString。在我(卑微)对API的理解中,以下内容应该有效:

glScalef(0.003,0.003,1);
glutStrokeString(GLUT_STROKE_ROMAN, (unsigned char*)"some text");

使用这两行而不是glutBitmapString-call运行我的程序会在文本消失之前显示一次。此外,从那一点开始,我用glutBitmapString显示的所有文本都不起作用。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

我终于解决了它。问题是,由于某种原因,glutIdleFunc被设置为我的显示功能,我忘了重置我的矩阵(所以我一次又一次地调用glScalef)。现在工作正常。