8ビットのアルファチャネルを持つテクスチャをレンダリングするのに問題があります。つまり、1ビットにフラット化され、glBlendFunc()は何もしていないようです。
即時モードの呼び出しは次のとおりです。
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glBegin(GL_QUADS);
{
glTexCoord2f(0, 0);
glVertex2f(0, 0);
glTexCoord2f(1, 0);
glVertex2f(356, 0);
glTexCoord2f(1, 1);
glVertex2f(356, 356);
glTexCoord2f(0, 1);
glVertex2f(0, 356);
}
glEnd();
言うまでもなく、舞台裏で設定されているさまざまなOpenGL状態があり、明らかにそのうちの1つです。
ブレンド段階を妨げる可能性があることに気付いていない状態はありますか?
私はblendfuncを正しく持っていますか?それは私が見たインターネットページからは正しいようです-しかし、私はGDEBuggerでテクスチャをチェックしたので、画像は間違いなく8ビットのアルファチャネルでロードされ、アルファチャネルなしで1ビットの画像を試しましたアルファチャネル。
どんな助けでも大歓迎です!
編集:
回答への回答:私はSOIL画像読み込みライブラリを使用しています。そのソースを調べて、それがどのように機能するかを確認します。現在、私はすでにレンダリングされたシーンの上にこの画像をレンダリングしています-間違いなく深度の問題に直面していません-実際、深度バッファテストはオフになっています。