0
我在iPhone上使用openGL和编程。即使我正在使用添加剂混合,我如何才能使发光保持与背景相同的颜色?
我在我的游戏场景之上渲染一个发光的“光束”。我正在使用添加剂混合的几个纹理来制作发光效果。如果光束呈现在纯黑色的背景上,光束将完全按照我想要的方式呈现,但是,当光束在我不断变化的游戏中呈现时,它会与其背后的颜色混合。
目前,这是我唯一的想法:
1)渲染束纹理和借鉴使用正常的混合背景纹理。
问题 - 纹理将永远是不透明的(黑色是我的glClear颜色)。我还不知道如何从我渲染的纹理中移除所有黑色。
有什么建议吗?
谢谢你的回应。我所做的是渲染我的发光光束,使用阿尔法混合使它看起来'发光',纹理。我认为我可以使用常规混合渲染纹理到我的背景,但可悲的是,情况并非如此 - 光束仍然混合到背景中。 我的最终目标是创建一个可以在任何地方绘制的荧光光束,而不会与背景混合。有任何想法吗? – 3rdFunkyBot
想想这个:如果你的背景是一个明亮的背景(可能是透过天空可见的窗口)会怎么样?特别是荧光束总是需要混合。它是一些不透明的东西,那么你可以使用alpha测试,但这不会让背景发光。最终你的问题是帧缓冲区中的像素饱和。您可以使用HDR渲染,但这不会帮助您在最后的合成阶段过度曝光。 – datenwolf