【发布时间】:2012-03-04 00:50:31
【问题描述】:
我一直在尝试使用 glutBitmapCharacter() 呈现文本。
这是我目前所拥有的 2D 文本渲染功能:
void drawString(int x, int y, char* string) {
int i, len;
glDisable(GL_TEXTURE);
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glColor3f(1.0f, 0.0f, 0.0f);
glRasterPos2i(x, y);
for (i = 0, len = strlen(string); i < len; i++) {
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, (int)string[i]);
}
glEnable(GL_TEXTURE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_LIGHTING);
}
在场景渲染函数中,我做了这个调用:
drawString(0, 0, "TESTING");
这些是唯一可以显示任何文本的 x 和 y 值,在这种情况下,“TESTING”出现在屏幕中间,“TE”为红色(我想要的颜色),“STING”为黑色.
我看到的处理这个函数的所有代码都使用了早期版本的openGL和不推荐使用的代码,所以我不知道该怎么办。
【问题讨论】: