iphone - OpenGL ES - 粒子效果混合

标签 iphone opengl-es

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

illustration of the question
(来源: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/

相关文章:

ios - 将iOS App从一个账户的Testflight转移到另一个账户

iphone - 如何安排每小时对服务器的请求,并将数据存储在我自己的服务器上以从iOS应用访问?

iphone - 在 iOS 上加载压缩图像的最快方法是什么?

android - 如何在 libgdx 中创建加载屏幕?

java - 如何渲染 Libgdx 位图字体,使其像素颜色与背景颜色相反?

java - 将屏幕坐标转换为世界坐标

iphone - 使用纹理中的 Alpha 绘制纯色

iphone - Tableview 线显示槽加载 View

iphone - 如何停止我不知道的NSTimer被释放

c# - 单点触控 : UISegmentedControl Select a segment that is already selected