当我尝试渲染下面的颜色条四边形时,任何人都可以提供一些线索
看起来像这样:
这是我的渲染代码:
gl.glEnable(GL.GL_BLEND);
gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO);
gl.glBlendEquation(GL.GL_FUNC_ADD);
gl.glEnable(GL.GL_ALPHA_TEST);
gl.glAlphaFunc(GL.GL_GREATER, 0.01f);
// do the drawing...
gl.glDisable(GL.GL_TEXTURE_2D);
gl.glDisable(GL.GL_ALPHA_TEST);
我确信解决方案很简单,而且我只是有一个脑力,但这只是其中的一天! 谢谢你的帮助!
答案 0 :(得分:0)
您尝试进行什么样的混合?要简单地绘制没有任何颜色混合或alpha通道的内容,您甚至不必使用GL_BLEND
或GL_ALPHA_TEST
(同时禁用两者)。 GL_BLEND
用于定义如何添加不同的“颜色层”(通常是如何应用Alpha通道),而GL_ALPHA_TEST
决定尊重/忽略哪些alpha值。渲染四边形时还要检查顶点颜色(尝试渲染没有纹理的单色四边形,例如使用洋红色)。
然而,看着你的图像,我猜你会以某种方式禁止绘制到你的红色通道(glColorMask()
) - 尽管有黄色,这让我很困惑。
答案 1 :(得分:0)
导入PNG文件时,RGBA会出现问题。