[英]Blending Function on OpenGL ES 1.0 (Android)
我正在使用OpenGL ES 1.0 for Android。 我有一个由2个三角形(四边形)组成的形状,就像一张游戏卡。 用于此游戏卡的纹理具有光滑的角(透明)
当我绘制形状时......以这种方式启用混合功能:
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
如果我只画一张卡就可以了!
但是,当我绘制许多卡片...并添加一些旋转时,我可以看到形状的角落:
如何在所有画面上都有透明效果? 有一种方法可以替换所有框架上的混合吗?
你可能会通过alpha测试glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f);
得到更好的服务glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f);
glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f);
而不是通过混合,因为在使用混合时,您必须对您进行排序,从前到后绘制它们。
看起来你首先要绘制顶部卡片,然后在它下面绘制卡片,而在混合时你必须首先绘制底部卡片才能正确混合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.