DevIL读取无效的扩展名

时间:2016-02-28 07:12:05

标签: c++ image opengl textures devil

所以我现在已经使用DevIL库一段时间了(与ILU和ILUT一起),并且在我使用它之后几乎没有问题。那就是,直到现在。突然间它似乎不适用于任何格式的任何图像。我使用此代码:

GLuint myTex;

void Init() {
    myTex = ilutGLLoadImage(L"img.tga");
}
void Draw() {              // 2D Drawing
    glBindTexture(GL_TEXTURE_2D, myTex);
    draw::TwoD::Textured::Rectangle(100, 100, 200, 200);
}

矩形显示为空白。我检查了这个函数,看起来应该可以正常工作,所以我试着调用ilGetError()。它为我尝试的几乎所有不同的图像返回了IL_INVALID_EXTENSION。我已经尝试了整个目录,甚至确保我使用的是正确版本的DevIL(unicode),但仍然会返回此内容。知道发生了什么吗?

提前致谢!

编辑:

我还注意到即使指定的文件不存在,DevIL也会返回此值。这让我觉得DevIL本身而不是我的代码有问题。

编辑2:

所以我发现我将unicode DLL放在项目目录中(必要时),但事实证明我链接到多字节字符的库目录。即使在修好之后,问题仍然存在。我被这个难倒了。

编辑3:

很抱歉这么多编辑,但我也发现我之前项目中的DevIL设置仍然完美无缺。它似乎只是我现在使用的项目。所有相关代码都是相同的(复制/粘贴),所以我认为它与项目属性有关,但我找不到任何差异。您知道在VS2015中将一个项目的属性复制到另一个项目的方法吗?

0 个答案:

没有答案