LWJGL 使用纹理作为 alpha 蒙版

LWJGL using texture as alpha mask

我正在使用 lwjgl 和 slick-util 创建一个 2D 游戏。对于我游戏中的一个特殊功能,我希望能够为纹理提供一定的不透明度。我已经设法解决了这个问题,但下一步是给一个 Texture 作为参数,这将使我能够在某些地方为某些纹理提供某些不透明度。

注意:我以前用过它,但面具似乎也删除了我不想要的背景图像。

我无法 post 图片,因为我没有足够的声誉或其他原因,但无论如何我基本上想做的是:

我该怎么做?

我认为你使用了错误的混合模式。如果您没有更改默认混合模式,那么您需要:

glEnable (GL_BLEND); // Enable blending.
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Setup blending function.

我认为在你的情况下,纹理不会与背景融合,它只是简单地替换了背景。