сейчас я пытаюсь загрузить текстуру изображения для четырехугольника, используя библиотеку изображений 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;
Путь файла является: «Текстуры / platformer_sprites.png» и это стандартная строка
и место нахождения в моем ПК файла есть: «D: / Desarrollo / C ++ / Project SOP \ BaseSurvivor / BaseSurvivor / Textures / platformer_sprites.png»
Любая помощь приветствуется и извините за мой плохой английский.
Задача ещё не решена.