我在alpha混音上发现了5349574673页,但我仍然无法获得所需的结果。 我正在尝试使用opengl正确显示gif / png文件(使用透明度/半透明度)。
这是我的初始化位:
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); //I've seen this on most tutorials
glDisable(GL_DEPTH_TEST); //it's a 2D game
//...loading matrices and so on
我确定图像具有透明度,并且装入正确
glBlendFunc(GL_ONE,GL_ONE);但我无法判断它是否在alpha通道上执行任何操作,因为它会呈现为黑色=>混合工程
glColor4f(1F,1F,1F,0.3f);工作得很好,我可以画出透明的东西
P.S。我正在使用此示例http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game进行学习
修改的 我使用了用GIMP和其他纹理加载器编码的其他纹理,它现在工作正常。
答案 0 :(得分:5)
您的混音设置是正确的。但是,为了混合工作,纹理必须包含一个alpha通道,当然要正确评估。然后必须通过图像加载过程保留alpha通道数据。我们可以看一下图片加载和纹理生成代码吗?