现在我正在尝试使用DevIL图像库为四元组加载图像纹理,我遇到了一个问题,无论我指定什么路径或者我告诉它加载的图像类型,它总会告诉我错误代码1290,IL_COULD_NOT_OPEN_FILE,有人可以帮忙吗?
要加载的代码:
bool imageLoaded = false;
auto mIt = m_textureMap->find(filePath);
if (mIt == m_textureMap->end())
{
Texture temp;
glGenTextures(1, &temp.id);
glBindTexture(GL_ARRAY_BUFFER, temp.id);
if (ilLoad(IL_PNG, (const wchar_t*)filePath.c_str()))
{
if (ilConvertImage(IL_RGBA, IL_UNSIGNED_BYTE))
{
temp.width = ilGetInteger(IL_IMAGE_WIDTH);
temp.height = ilGetInteger(IL_IMAGE_HEIGHT);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, temp.width, temp.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, ilGetData());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glGenerateMipmap(GL_TEXTURE_2D);
m_textureMap->insert(make_pair(filePath, temp));
imageLoaded = true;
}
}
glBindTexture(GL_ARRAY_BUFFER, 0);
}
else
{
imageLoaded = true;
}
ILenum error = ilGetError();
if (error != IL_NO_ERROR)
{
printf_s("Error %d\n", error);
}
return imageLoaded;
filePath 是:“Textures / platformer_sprites.png”,它是一个std :: string
我的电脑中的和位置是:“D:/ Desarrollo / C ++ / Project SOP \ BaseSurvivor / BaseSurvivor / Textures / platformer_sprites.png” < / p>
感谢任何帮助,对不起我的英语不好。