我正在开发一款适用于 Android 的游戏,我想知道为什么每当我绘制透明图像时,透明部分似乎总是添加一些黑色。这一切都发生了,让我的一些效果看起来很奇怪。
这是一个例子。这两个圆圈只是带有模糊的白色图像,但是当一个与另一个重叠时,您可以看到它有阴影。如果我在 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。为什么一个减源会添加那个灰色?