因此,我已经启动并运行了粒子系统,只要背景是黑暗的,它看起来就很好。我的问题是我需要在浅色背景上渲染效果。我一直在尝试glBlendFunc的许多不同设置,但不知道如何使其工作。我当前的混合是glBlendFunc(GL_SRC_ALPHA,GL_ONE),您可以在下图中找到不太令人满意的结果。如何在浅色背景上渲染效果?

iphone - OpenGL ES-混合粒子效果-LMLPHP
(来源: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/

10-12 03:47