我想讓我的點精靈顯示正確的不透明度。在Android上使用OpenGL ES 2.0的雪碧不透明度
最初,我在一個黑色的正方形上得到了我的精靈紋理。
所以,我增加了以下我的片段着色器:
"if(color.a < 0.5) "+
"discard;"+
現在,這似乎工作,在我的精靈顯示沒有黑色的背景,但是,我的質地本身是「部分透明」 - 並沒有表現出這種局部透明度,它顯得堅實。這有點難以解釋,但我希望你明白我的意思。如果我使用canvas/surfaceview繪製相同的紋理,它將正確顯示。
基本上我試圖讓我的紋理以原始格式顯示(即他們在創建它們的軟件中 - 即Gimp/photoshop等)。
希望得到任何幫助 - 感謝
謝謝@Jave,我用你的建議,我已經刪除了碎片着色器的丟棄部分,雖然現在沒有黑盒,但它看起來不正確 - 紋理現在是'透明',但有它周圍的黑色輪廓和圖像是比它應該更沉悶 - (太透明??)將不勝感激,如果您有任何其他建議 - 謝謝 – Zippy 2013-03-22 12:55:31
我想通了 - 我需要使用GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA);連同你的建議 - 謝謝你指出我在正確的方向! – Zippy 2013-03-22 13:44:41
是的,我忘了這一步,但更新了我的答案:) – Jave 2013-03-22 14:18:07