在openGL 4-中呈现文本不起作用
Rendering text in openGL 4 - does not work
我一直在尝试使用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值,在这种情况下,"测试"显示在屏幕中间,"TE"为红色(我想要的颜色),"STING"为黑色。
我看到的所有处理这个函数的代码都使用了早期版本的openGL和不推荐使用的代码,所以我不知道该怎么办。
上述代码绝对不是openGL 4兼容的代码。
请参阅OpenGL 4参考手册,您会发现glColor、glRasterPos甚至不存在(它们已被弃用。我相信甚至早在OpenGL 3中)
为了学习如何以不使用固定功能的现代方式使用openGL,我推荐本教程
所以基本上答案是,如果没有glRasterPos,我相信这个函数就无法工作在openGL 4中。(或3)
关于可行的方法,请参阅以下答案
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 简单的二分搜索对我不起作用。我正在尝试从文本文件中搜索单词
- Qt. 方法显示文本() 如果我在 QStyledItemDelegate 中定义了 paint() 方法不起作用
- C++将字符串写入文本文件中的行;新行问题不起作用
- 我简单的 c++ 文本游戏不起作用。我正在使用随机数生成,我很困惑
- 从文本文件中读取不起作用C
- 将消息发送到文本框窗口子级C++不起作用
- QSS QTabBar文本对齐不起作用
- c++ 将文本文件读取到结构数组中不起作用
- Clang 3.1 C++11 用户定义的文本将不起作用
- 从文本文件读取不起作用
- 从文本文件中简单读取算法不起作用
- 在openGL 4-中呈现文本不起作用
- 为什么我将数字数据从文本文件导入二维数组的代码不起作用
- 在QtCreator中逐行读取文本文件不起作用
- 文本中间的 Css 使"n"不起作用
- 绘图文本在Qt中不起作用