所以我已经启动并运行了我的粒子系统,只要背景是黑暗的,它看起来就很棒。我的问题是我需要渲染浅色背景上的效果。我一直在尝试 glBlendFunc 的许多不同设置,但不知道如何让它工作。我当前的混合是 glBlendFunc(GL_SRC_ALPHA, GL_ONE) ,您可以在下图中看到不太令人满意的结果。如何在浅色背景上渲染效果?
(来源:babelstudios.se)
最佳答案
如果您有一个带有 Alpha 的普通 ol' 纹理,并且您按照从后到前的顺序进行渲染,则可以采用以下方法:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
如果您的纹理具有预乘 Alpha,并且您按照从后到前的顺序渲染,请改为执行以下操作:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
关于iphone - OpenGL ES - 粒子效果混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1596995/