android/opengles alpha纹理不是半透明而是二进制透明

cla*_*amp 6 transparency android textures alphablending opengl-es

我正在使用alpha通道绘制一些纹理,但是当它们显示时,它看起来像alpha通道只是二进制.因此像素是透明的或不透明的,尽管在纹理文件本身中像素是半透明的.混合设置如下:

gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)

这个问题有解决方法吗?

以上显示了它应该如何,以下显示它是如何:

替代文字

cem*_*ent 3

尝试这个:

gl.glEnable(GL10.GL_BLEND);    
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);

gl.glEnable(GL10.GL_ALPHA_BITS);
//draw...
gl.glDisable(GL10.GL_ALPHA_BITS);
Run Code Online (Sandbox Code Playgroud)