加载图像时出现DevIL Error 1920

时间:2015-01-12 18:47:43

标签: c++ devil

现在我正在尝试使用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>

感谢任何帮助,对不起我的英语不好。

0 个答案:

没有答案