【发布时间】:2011-04-07 18:14:32
【问题描述】:
我正在使用 Alpha 通道绘制一些纹理,但是当它们显示时,看起来 Alpha 通道只是二进制的。所以一个像素要么是透明的,要么是不透明的,尽管在纹理文件本身中像素是半透明的。混合设置如下:
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
这个问题有解决办法吗?
上面展示了它应该是怎样的,下面展示了它是怎样的:
【问题讨论】:
-
你在那个纹理中使用了什么 internalFormat?
-
我可以获得更多关于 PNG 的信息吗?比如它是如何保存的?
-
它是用 Photoshop 保存的,相信我,它有一个不同值的 alpha 通道。它不是二进制透明的。
-
您能否发布一个指向 PNG 文件的链接,以便我可以使用相同的资源对其进行测试?仅在可能的情况下。
-
deviantsart.com/upload/2757n63.png 但同样,我不认为 PNG 是问题,因为我在正常的 GL 渲染中经常使用这样的 PNG,它们工作正常。
标签: android opengl-es transparency textures alphablending