如何在C++中使用GLUT / OpenGL绘制文本?

25

如何使用GLUT / OpenGL绘图函数在屏幕上绘制文本字符串?

2个回答

26

7
请注意,在使用glutBitmapString时,您需要使用freeglut而不是glut。 - andrewrk
1
我知道这是一个老问题,我有glut.h文件,但当我尝试使用其中任何一种方法时,它会说标识符"glutBitmapString"或"glutStrokeString"未定义,有什么想法吗? - Jonathan
@Jonathan superjoe30说得对。glutBitmapString和glutStrokeString不在原始的GLUT实现中。但是,如果你想使用GLUT,我建议你考虑使用freeglut或openglut,它们都有这些函数。如果我没记错的话,由于其许可证方案,原始的GLUT实现自1998年以来就没有更新过,因此开始开发freeglut和openglut来解决这个问题并添加新功能等。请参见http://freeglut.sourceforge.net/。 - epatel

11
void RenderString(float x, float y, void *font, const char* string, RGB const& rgb)
{  
  char *c;

  glColor3f(rgb.r, rgb.g, rgb.b); 
  glRasterPos2f(x, y);

  glutBitmapString(font, string);
}

你可以这样调用它:

RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));

4
错误:在非类类型“const int”中的“rgb”中请求成员“r”。 - Nitin Garg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接