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

Kin*_*tor 23 c++ opengl text glut

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

epa*_*tel 25

有两种方法可以用GLUT绘制字符串

glutStrokeString将以3D形式绘制文本

替代文字http://local.wasp.uwa.edu.au/~pbourke/oldstuff/glut/opengl4.gif

glutBitmapString将绘制面向用户的文本

替代文字
(来源:sourceforge.net)

  • 请注意,您需要[freeglut] [1]而不是glut,才能使用glutBitmapString.[1]:http://freeglut.sourceforge.net/ (7认同)

Ada*_*eld 7

如果你不喜欢按照epatel的答案使用GLUT附带的内置笔划字体或位图字体,你将不得不推出自己的解决方案.

NeHe有一些很好的教程(以及完整的示例代码):


And*_*ant 6

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);
}
Run Code Online (Sandbox Code Playgroud)

你可以这样称呼它;

RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));
Run Code Online (Sandbox Code Playgroud)

  • 错误:请求'rgb'中的成员'r',这是非类型'const int' (4认同)
  • 错误:未在此范围内声明“ glutBitmapString” (2认同)