0

我想在 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;
   }
4

0 回答 0