ios - glBlendFuncSeparate 在 iOS 上的 OpenGL1.1 上崩溃

标签 ios opengl-es alphablending

我正在尝试在具有 arm6 处理器且仅支持 OpenGL ES 1.1 的旧 iOS 设备上构建代码。函数 glBlendFuncSeparate 崩溃。我在 stackoverflow 上找到了这篇文章 -

iPhone OpenGL ES missing functions should be there - glBlendFuncSeparate etc

所以我将 OES 添加到函数的末尾,但它仍然崩溃。我已经仔细检查以确保我包含了 OpenGLES/ES1/glext.h 并且我包含了。

有人知道这是怎么回事吗? iOS 上的 OpenGLES 1.1 是否支持此功能?如果是,您如何使用它?

最佳答案

经过大量研究和工作,我发现旧设备上的 iOS OpenGLES 1.1 不支持 glBlendFuncSeparate。

我们发现的最简单的解决方法(尽管确实涉及更多绘制调用)是使用 glColorMask。您屏蔽 alpha 并设置混合模式并绘制一次,然后屏蔽颜色并设置 alpha 混合模式并再次绘制。

希望这能帮助其他遇到同样问题的人!

关于ios - glBlendFuncSeparate 在 iOS 上的 OpenGL1.1 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5347156/

相关文章:

Android OpenGL 视频捕获

c# - 使用 C# 在 Windows Mobile 中加载简单的半透明 PNG

ios - 托管解析是否支持推送通知?

ios - UITableView中的deleteObject错误,无法重复

使用四元数的 iPhone GLGravity 示例

android - 如何使用 Open GL ES 在 Android 中加载巨大的位图?

iphone - 如何将所有公开推文的列表导入 iPhone

ios - 使用 Objective-C 以编程方式读取 Unix 可执行文件

iphone - 我需要一个图形编辑器来创建具有 alpha 透明度的 PNG 文件

c++ - 着色器透明度不适用于一半