私はiPhoneゲームを開発しています。私はバックグラウンドに描画するために以下のソースイメージを持っています。ソースイメージにはアルファ0x00とグラデーションがあり、背景のアルファは0xffです。ソースイメージを背景に描画すると、結果イメージを見ることができるように黒色になります。 OpenGL ES glBlendFunc(GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA)メソッドを使用しています。私はすべての可能な議論を変えましたが、動かされないたびに変わりました。iPhoneのOpenGLのアルファブレンディング。私は端に黒い色があります
なぜソースイメージの端に黒色が表示されますか?何が問題ですか? iPhoneのすべてのゲームでグラデーションを使用しているわけではありませんか?
グラデーションなしでソースイメージを作成する必要はありますか?
解決策を知っている人はいますか?
ソース画像:
は結果画像:
これは一般的なアルファの2倍の乗算のようです。 – v01d
ONE、ONE_MINUS_SRC_ALPHAにする必要はありませんか? – rotoglup
ここに別の説明の資料があります:http://home.comcast.net/~tom_forsyth/blog.wiki.html#%5B%5BPremultiplied%20alpha%5D%5D – rotoglup