我在使用openGL的devIL加载图像时遇到了问题
在我项目的早期部分,我调用
ilInit();在调用load之后的函数中,就像这样
//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出现的原因。
发布于 2013-08-04 22:45:58
使用IL_OUT_OF_MEMORY时ilLoad()失败的一个常见原因是您正在使用的PNG文件已损坏。
然而,1285意味着IL_INVALID_VALUE -它意味着你给它的路径可能是错误的。尝试绝对路径(请记住,除非使用双斜杠,否则在C++中反斜杠是不可以的)。
我个人使用DevIL已经有很长一段时间了,而且确实很喜欢它。但是,我强烈建议您考虑使用FreeImage。它还有更多的开发工作,而且非常稳定--我把它用在了一个商业引擎中,满足了我所有的图像需求,而且它和DirectX/OpenGL集成得很好,就像DevIL一样。
https://stackoverflow.com/questions/13376021
复制相似问题