使用混合模式在Open GL中组合两个半透明的未预乘纹理?

时间:2015-04-28 10:18:49

标签: opengl opengl-es alphablending blending

我试图弄清楚如何使用Open GL来组合两个未经过多次逼近的纹理(一个在另一个之上)。

两种纹理都有0-alpha的区域。我希望合并后的结果也是前所未有的。我尝试了GL_ONE,GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA等多种组合,但还没有运气好。

这就是我的意思(Texture1和Texture2是输入纹理,Combo是所需的组合):

enter image description here

1 个答案:

答案 0 :(得分:0)

哇...经过这么长时间,看起来我为这个问题创建的图像让我得到答案。

这里有什么诀窍:

glBlendFuncSeparate(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA,GL_ONE,GL_ONE_MINUS_SRC_ALPHA);