简体   繁体   English

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

[英]SOIL Load PNG Image into a Texture turns into an grey image

So I want to load a PNG image using SOIL, like this: 所以我想使用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);

When I use a JPEG image everything is loaded and rendered as I expect... but when I try to load a PNG image, I get the following result: 当我使用JPEG图像时,所有内容都按预期加载并呈现...但是当我尝试加载PNG图像时,得到以下结果:

以PNG格式呈现的图像

Any one knows what could be wrong in here?! 有人知道这里可能有什么问题吗?

WorldSEnder was right :) It was indeed a RBGA image. WorldSEnder是正确的:)确实是RBGA图像。

I missed the: 我错过了:

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

Thanks! 谢谢!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM