我想在 OpenGL 中渲染文本。
我找到了这个教程。我已经使用教程中提供的 fonttool 创建了字体二进制文件,我的字体渲染器似乎可以工作。但问题是,当我尝试在屏幕上渲染某些东西时,我得到的是彩色块。我认为我的问题可能出在预测中,因为他们将其留给用户设置,我不知道该怎么做。我的主要功能是使用教程提供的字体类。这里有什么问题?
编辑:它的样子:http: //img138.imageshack.us/img138/2512/openglscreen.png
#include "font.h"
Font * ft;
void display(void)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 512, 512, 0, 0, 1);
glDisable(GL_DEPTH_TEST);
glMatrixMode (GL_MODELVIEW);
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.375, 0.375, 0);
// Render text
ft->Draw_String("OpenGL text rendering hello world", 5, 50);
glutSwapBuffers();
}
void reshape(int w, int h)
{
glViewport(0, 0, w, h);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
// creaing font renderer
ft = new Font("compiledfont.c");
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(200,200);
glutInitWindowSize(512,512);
glutCreateWindow("OpenGL window");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
delete ft;
return 0;
}