0

我正在使用 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 查看器,我得到如下所示的结果。
在此处输入图像描述

我想知道我的代码是否有问题导致纹理呈暗灰色。

4

0 回答 0