我正在编写一个OpenGL使用的简单应用程序GLUT.我不想滚动自己的字体渲染代码,而是想使用附带的简单位图字体GLUT.让他们工作的步骤是什么?
我有一个OpenGL使用GLUT(而不是freeglut)的项目,其中我想在固定位置的视口上显示2D文本.其余的物体都在3D世界坐标中.
GLUT附带的位图字体是简单的2D字体,不适合在3D环境中显示.但是,它们非常适合需要覆盖在显示窗口上的文本.
我已经尝试了接受的答案中概述的方法,但它没有给我所需的输出.以下是显示功能的代码片段:
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0, 0.0, -(dis+ddis)); //Translate the camera
glRotated(elev+delev, 1.0, 0.0, 0.0); //Rotate the camera
glRotated(azim+dazim, 0.0, 1.0, 0.0); //Rotate the camera
.
.
.
draw 3D scene
.
.
.
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, win_width, 0.0, win_height);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRasterPos2i(10, 10);
string s = "Some text";
void * font = GLUT_BITMAP_9_BY_15;
for (string::iterator i = s.begin(); i != s.end(); ++i)
{
char …Run Code Online (Sandbox Code Playgroud)