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

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

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

这个问题有解决方法吗?

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

最佳答案
试试这个:

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);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...