Java - LWJGL - 透明纹理

时间:2012-12-26 05:56:13

标签: java lwjgl

我一直在寻找许多网站和LWJGL教程,我很惊讶地发现 解释如何创建使用的程序的内容并不多 透明纹理。

我用gimp去除了PNG背景中的白色 图像,它变成透明的棋盘,女巫似乎很好,当我在Windows照片查看器中打开它很好。

然而,当打开它进入我的程序时,它仍然在图像周围有白色方块,所以当两个不透明的图像碰撞时,它看起来很糟糕。

我认为到2012年,任何具有非透明纹理的游戏看起来都非常不专业。

我需要解决这个问题,所以有人请指出我正确的方向或解释如何解决问题。

请记住:我正在使用LWJGL和opengl纹理以及带有在gimp中编辑的PNG图像的opengl TextureLoader以获得透明背景。

2 个答案:

答案 0 :(得分:0)

如果您正在使用默认管道检查如何使用glBlendFunction。

所以基本上你会告诉openGL如何将多个图像与alpha值混合。

此外,如果您正在使用glTexImage2D调用,请确保源像素格式为GL_RGBA。

答案 1 :(得分:0)

启用OpenGL后,在初始化代码中使用以下代码行:

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

它现在应该正常工作。

如果您需要解释:您只是告诉OpenGL将图像的Alpha通道与其下方的任何图像混合。