在C++中使用glutBitmapString()将文本绘制到屏幕上,需要遵循以下步骤:
sudo apt-get install freeglut3-dev
#include <GL/glut.h>
#include <GL/freeglut.h>
#include<iostream>
void display();
void renderBitmapString(float x, float y, const char* string);
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(800, 600);
glutInitWindowPosition(100, 100);
glutCreateWindow("Bitmap String");
glutDisplayFunc(display);
glutMainLoop();
}
void display() {
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
renderBitmapString(200, 200, "Hello, World!");
glFlush();
}
void renderBitmapString(float x, float y, const char* string) {
glRasterPos2f(x, y);
for (int i = 0; string[i] != '\0'; i++) {
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[i]);
}
}
g++ main.cpp -o main -lglut -lGLU -lGL
./main
在窗口中,将会看到"Hello, World!"文本被绘制到屏幕上。
这个例子中,我们使用了GLUT库中的glutBitmapString()函数来绘制文本。首先,我们创建了一个窗口,并设置了窗口大小和位置。然后,我们在display()函数中设置了清除颜色和绘制文本的颜色。renderBitmapString()函数接受x、y坐标和要绘制的文本字符串,并使用glRasterPos2f()函数将光标移动到指定位置。接下来,我们使用glutBitmapCharacter()函数绘制每个字符。最后,我们编译和运行程序,在窗口中看到绘制的文本。
领取专属 10元无门槛券
手把手带您无忧上云