【发布时间】:2011-12-14 16:09:03
【问题描述】:
我已经找到了 5349574673 页关于 Alpha 混合的内容,但我仍然无法获得想要的结果。 我正在尝试使用 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);效果很好,我可以画透明的东西
附:我正在使用这个示例http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game 进行学习
编辑 我使用了用 GIMP 和其他纹理加载器编码的其他纹理,现在它可以正常工作了。
【问题讨论】:
-
张贴图片。初始化代码看起来没问题。
标签: opengl alphablending lwjgl