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?