我在学习如何在 OpenGL 中进行纹理处理时遇到了一个问题(来自 OpenGL 第 5 版圣经)。问题是我无法显示我的纹理。我使用我自己编写的函数从 BMP 文件加载它。
由于代码很长,我上传了所有必需的文件。你可以从这里下载。
编辑:我尝试从提到的书中复制代码(那里描述了 TGA 加载),但效果不佳。加载似乎卡在从文件加载图像数据(奇怪)。我想就我的问题而言,这无关紧要。
有用于检查问题的一般调试步骤。我将在下面列出它们,希望您能找到错误(以及未来的读者):
glBindTexture(..)
在(某些类的)构造函数中执行。这些对象是在 OpenGL 初始化之前创建的。GL_TEXTURE_2D
吗?检查初始化代码,使用:glEnable(GL_TEXTURE_2D)
glColor3f(0,0,0)
吗?可能会有更多的检查,但这些是我现在头疼的