SOIL将PNG图像加载到纹理中变成灰色图像

时间:2015-07-06 17:18:20

标签: c++ image opengl glfw soil

所以我想使用SOIL加载PNG图像,如下所示:

unsigned char* image = SOIL_load_image("image.png", &width, &height, 0, SOIL_LOAD_AUTO);

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
glGenerateMipmap(GL_TEXTURE_2D);
SOIL_free_image_data(image);
glBindTexture(GL_TEXTURE_2D, 0);

当我使用JPEG图像时,所有内容都按照我的预期加载和渲染...但是当我尝试加载PNG图像时,我得到以下结果:

rendered image in PNG format

任何人都知道这里可能出现什么问题?!

1 个答案:

答案 0 :(得分:0)

WorldSEnder是对的:)它确实是一个RBGA图像。

我错过了:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image);

谢谢!

相关问题