DevIL ライブラリを使用してテクスチャをロードし、モデルに適用しています。これは、テクスチャをテクスチャ バッファにロードするために私が書いたコードです。
ILboolean success;
ILuint imageID;
glGenTextures(1,&_textureID);
glBindTexture(GL_TEXTURE_2D,_textureID);
ilGenImages(1,&imageID);
ilBindImage(imageID);
success = ilLoadImage((const ILstring)_fileName.c_str());
if(success){
success = ilConvertImage(IL_RGBA,IL_UNSIGNED_BYTE);
if(!success)
{
std::cout << "Could not convert image :: " << _fileName << std::endl;
ilDeleteImages(1,&imageID);
return false;
}
}
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D,0,ilGetInteger(IL_IMAGE_BPP),ilGetInteger(IL_IMAGE_WIDTH),
ilGetInteger(IL_IMAGE_HEIGHT),0,ilGetInteger(IL_IMAGE_FORMAT),GL_UNSIGNED_BYTE,
ilGetData());
glBindTexture(GL_TEXTURE_2D,0);
シーンをレンダリングすると、次の結果が得られます。
assimp を使用してモデルをロードしたことにも触れておく必要があります。 assimp ビューアーを使用すると、以下に示す結果が得られます。
コードに問題があり、テクスチャがくすんだ灰色になっているかどうかを知りたいです。