我需要在渲染场景上应用全屏类似摄影的晕影效果。显然,我必须使用混合来实现这一点。我想选择最快的混合模式,因为它将应用于所有屏幕空间。
OpenGL ES 中的某些混合模式是否比其他模式运行得更快?或者是否有任何混合模式以相同的填充率工作?到目前为止,我还没有在 Internet 上找到任何资源说某些混合模式比另一种混合模式慢或快,所以我决定在 SO 上问这个问题。
这是针对 Android 应用程序的,所以我知道这种行为当然可能取决于 GPU 供应商,但也许有一些常见的考虑因素可以加快混合速度?
最佳答案
混合中唯一缓慢的部分是从后台缓冲区读取像素(与仅 alpha 或 rgb 或两者无关)。所以只要它是使用 dst
颜色/alpha 的“真实”混合(即不使用像 glBlendFunc(GL_ONE, GL_ZERO)
或 glBlendFunc(GL_ZERO) 这样的退化混合函数, GL_ONE)
或类似的) - 没有性能差异。
关于android - 不同混合模式的 OpenGL ES 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745991/