使用DevIL和Visual Studio 2010加载图像的问题

时间:2012-03-22 19:57:37

标签: c++ devil

我有一个关于在VS 2010中使用DevIL的问题。我正在尝试加载图像以将其作为纹理应用于精灵,但我似乎无法弄清楚如何将图像添加到项目中以便DevIL可以找到它。对ilLoadImage的调用会一直返回false。

void LoadTexture(string path)
{
wstring widePath = wstring(path.begin(), path.end());
const wchar_t* pathName = widePath.c_str();
ILuint devilId = 0;
ilGenImages(1, &devilId);
ilBindImage(devilId);

if(!ilLoadImage(pathName))
{
    ILenum error = ilGetError();
    const wchar_t* errorString = iluErrorString(error);
    cout << *errorString << endl;
    exit(0);
}

iluFlipImage();

int width = ilGetInteger(IL_IMAGE_WIDTH);
int height = ilGetInteger(IL_IMAGE_HEIGHT);
int openGLId = ilutGLBindTexImage();

if(openGLId = 0)
{
    cout << "The OpenGL id was not set." << endl;
    exit(0);
}

ilDeleteImages(1, &devilId);
}

void InitializeTextures()
{
ilInit();
iluInit();
ilutInit();
ilutRenderer(ILUT_OPENGL);

LoadTexture("dungeon_textures-200413-SM.jpg");
}

1 个答案:

答案 0 :(得分:1)

抱歉恢复旧线程。由于您使用的是宽字符格式,因此应使用DevIL库的unicode构建;确保将正确的(unicode dlls)复制到项目目录中,看看是否有帮助。