2

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");
}
4

1 に答える 1

1

古いスレッドを復活させてすみません。ワイド char 形式を使用しているため、DevIL ライブラリの unicode ビルドを使用する必要があります。正しい (Unicode DLL) をプロジェクト ディレクトリにコピーして、これが役立つかどうかを確認してください。

于 2013-04-10T06:27:33.790 に答える