devIL ilLoad错误1285

时间:2012-11-14 09:22:52

标签: c++ opengl loading textures devil

我在使用devIL为openGL加载图像时遇到问题

在我项目的早期部分我打电话

ilInit();

在我调用我的负载之后的一个函数中就像这样

//generate a texture
ilGenImages( 1, &uiTextureHandle );

//bind our image
ilBindImage( uiTextureHandle );

//load
//ilLoad( IL_PNG, (const ILstring)"fake.png" );
ilLoad( IL_PNG, "fake.png" );

为了进行错误跟踪,我在每次调用后都放置了“ilGetError()” 除了ilLoad返回1285

之外,所有这些都返回0 经过一番搜索,我发现这是一个缺乏内存错误。

所以ilLoad总是返回0并且没有加载。

任何人都知道我的装载不正确或者我忘记做某事 因为我觉得我可能已经忘记了某些东西,这就是1285出现的原因。

1 个答案:

答案 0 :(得分:0)

ilLoad()IL_OUT_OF_MEMORY失败的常见原因很简单,就是您正在使用的PNG文件已损坏。

然而,1285意味着IL_INVALID_VALUE - 这意味着你给它的路径可能是错误的。尝试一个绝对路径(记住在C ++中反斜杠不合适,除非你使用双斜杠)。

我个人已经使用DevIL很长一段时间并且喜欢它。不过,我恳请你考虑一下FreeImage。它有更多的开发和稳定 - 我在商业引擎中用它来满足我的所有图像需求,它与DirectX / OpenGL很好地集成,就像DevIL一样。