渲染纹理时忽略alpha?

时间:2011-01-19 05:29:00

标签: android opengl-es

这个应该很简单,但事实证明这是一个真正的头脑......

我有一个带alpha通道的纹理。在一个渲染过程中,我想渲染纹理但忽略alpha通道。无论我使用什么设置,alpha小于1的像素都绘制。

当然,这些命令应该禁用任何alpha测试/拒绝/混合?

gl.glDisable(GL10.GL_BLEND);
gl.glDisable(GL10.GL_ALPHA_TEST);

我意识到我可以使用两个版本的纹理,一个是alpha,一个是没有。但是肯定有一种方法可以忽略alpha通道吗?

1 个答案:

答案 0 :(得分:1)

你可能不得不为glBlendFunc使用不同于你现在使用的源和目标混合模式。例如,如果您使用GL_ONE作为源,使用GL_ZERO作为目标,那么将不会涉及alpha像素。

http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml

相关问题