解决Android OpenGL动画中的黑边问题

如果你的png图片是预乘的,并且使用gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA)就会产生黑边,解决方法是使用gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA).

下面是我用的一个不完美的解决方案.

if (this.transparency > 0.4f) {

gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
   gl.glColor4f(1.0f, 1.0f, 1.0f, 1);
} else {
  gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
  gl.glColor4f(1.0f, 1.0f, 1.0f, this.transparency);
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxspg.html