SOIL 将 PNG 图像加载到纹理中变成灰色图像
SOIL Load PNG Image into a Texture turns into an grey image
所以我想使用 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 图像时,我得到以下结果:
谁知道这里可能出了什么问题?!
WorldSEnder 是对的 :) 这确实是一个 RBGA 图像。
我错过了:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image);
谢谢!
所以我想使用 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 图像时,我得到以下结果:
谁知道这里可能出了什么问题?!
WorldSEnder 是对的 :) 这确实是一个 RBGA 图像。
我错过了:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image);
谢谢!