用Opengl Drawstring 输出字符串
时间: 2024-02-27 19:55:00 浏览: 68
使用opengl程序在屏幕输出自己设定的字符[借鉴].pdf
在 OpenGL 中,要输出字符串可以使用 glutBitmapCharacter 函数。该函数可以输出 ASCII 码对应的字符。
以下是一个简单的示例代码:
```c++
void drawString(const std::string& str, float x, float y, void* font = GLUT_BITMAP_8_BY_13) {
glRasterPos2f(x, y);
for (size_t i = 0; i < str.size(); ++i) {
glutBitmapCharacter(font, str[i]);
}
}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
drawString("Hello, World!", 0.0, 0.0);
glutSwapBuffers();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(640, 480);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL DrawString Example");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
在上面的示例中,我们定义了一个名为 drawString 的函数,接受一个字符串、x 坐标、y 坐标、字体参数等,用于输出字符串。在 display 函数中,我们调用 drawString 函数输出了一个字符串。最后在 main 函数中,我们创建了一个 OpenGL 窗口,并将 display 函数作为回调函数传递给 GLUT,以便在窗口中绘制内容。
阅读全文