Android 使用glColor将纹理设置为半透明度时出现问题

Android 使用glColor将纹理设置为半透明度时出现问题,android,opengl-es,Android,Opengl Es,基本上,我在OpenGLES1.1中有一个功能齐全的ogl程序(2D游戏),除了一个问题:glcolor外,一切都很好 我正在尝试将我的一些纹理设置为半透明,我想如下所示 gl.glColor4f(1f, 1f, 1f, .5f); obj.draw(gl); ... gl.glColor4f(1f, 1f, 1f, 1f); 我正在使用VBO制作我的vertice、纹理和索引。(如有关) 问题是没有设置为50%的透明度 我不认为发布我所有的代码是有意义的(主要是因为它分布在几个类中,几个G

基本上,我在OpenGLES1.1中有一个功能齐全的ogl程序(2D游戏),除了一个问题:glcolor外,一切都很好

我正在尝试将我的一些纹理设置为半透明,我想如下所示

gl.glColor4f(1f, 1f, 1f, .5f);
obj.draw(gl);
...

gl.glColor4f(1f, 1f, 1f, 1f);
我正在使用VBO制作我的vertice、纹理和索引。(如有关)

问题是没有设置为50%的透明度

我不认为发布我所有的代码是有意义的(主要是因为它分布在几个类中,几个GL选项发生了变化(混合、剪刀等)

我想让人们告诉我,OGL的什么状态可以阻止glcolor按照我想要的方式工作,我应该检查什么功能,我应该调用什么状态

Jason

您是否启用了GL\U混合? 我通常会使用glBlendFunc(SRC_ALPHA,1减去SRC_ALPHA)

你启用了GL_混合吗?
检查一下。我通常使用glBlendFunc(SRC_ALPHA,1减去SRC_ALPHA)

我终于有足够的时间一步一步地尝试所有的跟踪,并发现了问题

gl.glTexEnvf(GL10.gl_纹理_环境,GL10.gl_纹理_环境模式,…)


…在生成一些纹理时被设置为GL_REPLACE,但从未被设置为GL_COMBINE

我终于有足够的时间一步一步地尝试所有跟踪并发现问题

gl.glTexEnvf(GL10.gl_纹理_环境,GL10.gl_纹理_环境模式,…)


…在生成某些纹理时被设置为“GL_替换”,但从未被设置为“GL_合并”

是的,使用正确的glBlendFunc启用了“GL_混合”。我的大多数纹理在0区域具有alpha,因此混合已经起作用(否则,我的纹理lol周围会有漂亮的黑色或白色方形)是的,使用正确的glBlendFunc启用GL_混合。我的大多数纹理在0区域有alpha,因此混合已经可以工作了(否则我的纹理lol周围会有漂亮的黑色或白色方块)