2012-03-22 82 views
2

我有一個關於在VS 2010中使用DevIL的問題。我試圖加載一個圖像作爲紋理應用於精靈,但我似乎無法弄清楚如何將圖像添加到項目中,以便DevIL可以找到它。對ilLoadImage的調用一直返回false。使用DevIL和Visual Studio 2010加載圖像的問題

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

對不起,以恢復舊線程。由於您使用的是寬字符格式,因此您應該使用Devil庫的unicode版本;確保將正確的(unicode dll)複製到項目目錄中,看看是否有幫助。

+0

哈哈奇怪的是,我很快就會回到DevIL(正如你可能想象的我放棄了它)。感謝您抽出寶貴時間發表評論,如果我確實回來了,我會給予您肯定的信任,並且這種方式很有效。 – Pat 2013-04-10 20:14:01