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.
我认为在你的情况下,纹理不会与背景融合,它只是简单地替换了背景。
我正在使用 lwjgl 和 slick-util 创建一个 2D 游戏。对于我游戏中的一个特殊功能,我希望能够为纹理提供一定的不透明度。我已经设法解决了这个问题,但下一步是给一个 Texture
作为参数,这将使我能够在某些地方为某些纹理提供某些不透明度。
注意:我以前用过它,但面具似乎也删除了我不想要的背景图像。
我无法 post 图片,因为我没有足够的声誉或其他原因,但无论如何我基本上想做的是:
- 首先渲染一张背景图片。
- 然后在上面渲染另一个带有遮罩的图像,我不希望这个遮罩应用到背景上。
我该怎么做?
我认为你使用了错误的混合模式。如果您没有更改默认混合模式,那么您需要:
glEnable (GL_BLEND); // Enable blending.
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Setup blending function.
我认为在你的情况下,纹理不会与背景融合,它只是简单地替换了背景。