在OpenGL中使用文本 - GLUT?

时间:2012-04-19 21:07:06

标签: c++ opengl glut

我已经在openGl程序中使用GLUT作为菜单了一段时间了,但很难接受它很难将文本放入gl-scene中。有没有办法使用GLUT用于场景内菜单的文本系统?

如果是这样的话怎么办?

3 个答案:

答案 0 :(得分:4)

打印鼠标位置的x坐标

char gMouseXLoc[25];
void drawString (void * font, char *s, float x, float y, float z){
     unsigned int i;
     glRasterPos3f(x, y, z);

     for (i = 0; i < strlen (s); i++)
          glutBitmapCharacter (font, s[i]);
}

void displayMethodName {
     ...
     drawString(GLUT_BITMAP_HELVETICA_18, gMouseXLoc, 0, 0, 0); 
}

void mouseMotionForGlut(int x, int y){
     double xloc = x;
     sprintf(gMouseXLoc, "%2.15f", xloc);
}

答案 1 :(得分:2)

此处可能还有一些其他库,例如freeglut(特别是font rendering functions)。或者,编写一个只打印字符串的函数应该不会太难。

有关更多替代方案,请参阅this question

答案 2 :(得分:2)

如果您可以费心翻译页面和翻译评论,这个课程是由我学校的学生完成的,而且非常容易使用。基本上,您只需加载要使用的字体,然后使用打印功能。 2条线,效果非常好。我在一些openGL应用程序中使用它,它非常容易使用。

链接:http://4.eepp.ca/?p=phont(教程+代码示例,法语)

下载:http://4.eepp.ca/files/phont-1.zip

聚苯乙烯。它使用GL.h和GLU.h