我正在爲Android的遊戲工作,我想知道爲什麼每當我用透明度繪製圖像時,總會有一些黑色添加到透明部分。這一切都發生,使我的一些效果看起來很奇怪。OpenGL透明圖像在其中有黑色
這裏是一個例子。這兩個圓圈只是帶有模糊的白色圖像,但您可以看到一個圖像與另一個圖像重疊時是否有陰影。如果我重疊兩個圈子在Inkscape中說,我會得到純白色他們重疊。
我使用
GLES20.glEnable(GLES20.GL_BLEND);
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
我的混合。
任何想法爲什麼發生這種情況,我怎麼能避免它?
編輯:我能想到的唯一的事情是這兩個圖像具有相同的z,所以也許他們只與背景而不是彼此混合?
編輯: 我改變
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
到
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_DST_ALPHA);
這是我一直在尋找的結果。
唯一現在是,我有這樣的在他們身上有透明的黑色透明圖像被忽略,這是有道理的,因爲我覺得目標alpha爲1.爲什麼會一個減源添加灰色?
關於編輯中的問題,你是不正確的,那是不可能的。 – Tim
個人而言,我認爲這個影子看起來很棒。但那只是我。 – ashes999