0

したがって、次のように 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 画像を読み込もうとすると、次の結果が得られます。

PNG 形式のレンダリング イメージ

ここで何が間違っているのか知っている人はいますか?!

4

1 に答える 1

0

WorldSEnder は正しかった :) 確かに RBGA イメージでした。

私は逃した:

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

ありがとう!

于 2015-07-06T18:14:50.413 に答える