Alpha混合多个纹理留下彩色边框

Don*_*nny 1 opengl textures alpha blending

以下问题:我有两个纹理,我想将这两个结合成一个新的纹理.因此,一个纹理用作背景,另一个纹理将被覆盖.使用glClearColor(1.0,1.0,1.0,0.0)初始化叠加纹理.对象被绘制到纹理上,这些对象确实具有alpha值.

现在,在两个纹理之间混合会在对象周围留下白色边框.边界来自第二个纹理中的背景颜色是白色的事实,不是吗?

我怎样才能使用alpha混合,而不必考虑重叠纹理的背景颜色?

Don*_*nny 5

我自己解决了这个问题,但非常感谢你们所有人!

问题是:为了结合两种纹理,我使用glblend(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA),由于OpenGL使用预乘的alpha值,因此无效.与glblend混合(GL_ONE,GL_ONE_MINUS_SRC_ALPHA),现在作为源术语使用:1*src_alpha*src_color!