Obrazy przezroczyste OpenGL mają w sobie czarny kolor

Pracuję nad grą na Androida i zastanawiałem się, dlaczego za każdym razem, gdy rysuję obrazy z przezroczystością, zawsze wydaje się, że do przezroczystych części dodaje się trochę czerni. Dzieje się tak wszędzie i sprawia, że ​​niektóre z moich efektów wyglądają dziwnie.

Oto przykład. Dwa koła są tylko białymi obrazami z rozmazaniem, ale można zobaczyć, kiedy jeden zachodzi na drugi, ma cień. Jeśli nakładam się na dwa koła, powiedz w Inkscapeie, że nałożę się na czystą biel.

ja używam

<code>GLES20.glEnable(GLES20.GL_BLEND);
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
</code>

dla mojego mieszania.

Jakiś pomysł, dlaczego tak się dzieje i jak mogę tego uniknąć?

Edycja: jedyne, co mogę myśleć, to to, że dwa obrazy mają takie same z, więc może mieszają się tylko z tłem zamiast ze sobą?

Edytuj: Zmieniłem się

<code>GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
</code>

do

<code>GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_DST_ALPHA);
</code>

Oto wynik, którego szukałem.

Jedyną rzeczą jest teraz to, że przezroczyste obrazy, które miałem w nich z przezroczystą czernią, są ignorowane, co ma sens, ponieważ myślę, że docelowa alfa to 1. Dlaczego jedno minus źródło doda ten szary?

questionAnswers(4)

yourAnswerToTheQuestion