【问题标题】:OpenGL deprecated in IOS 12, how to safely continue to use openGL on ios 12+ device?OpenGL 在 IOS 12 中已弃用,如何在 ios 12+ 设备上安全地继续使用 openGL?
【发布时间】:2019-02-23 14:48:19
【问题描述】:

Apple 表示使用 OpenGL ES 构建的应用将继续在 iOS 12 中运行,但在 iOS 12 中已弃用 Open GL ES。以前使用 OpenGL ES 的游戏和图形密集型应用现在应该采用 Metal。

但我不想将我的应用程序从 OpenGL 迁移到 Metal,因为它与 Android 的代码相同,我不想创建两个单独的分支,所以我可以做些什么来在未来的 iOS 版本中继续使用 OpenGL ?

【问题讨论】:

    标签: ios opengl-es ios12


    【解决方案1】:

    我推荐 OpenGL 和 Metal 在 iOS 上一起开发,新功能配合 Metal 使用。

    【讨论】:

      【解决方案2】:

      你或多或少没有。

      Apple 已经明确表示,他们对在他们控制的任何平台上进一步支持 OpenGL ES 不感兴趣。将来,您将使用 Metal,否则您将没有加速 3D 图形。这些将是您的选择。

      个项目通过在 Metal 之上实现 ES 层在此类平台上公开 OpenGL ES。例如MoltenGL,但那个显然不是免费的。

      【讨论】:

      • 好消息! MoltenVK 现在可以在 GitHub 上作为免费的开源项目获得 :)
      • @lok​​i:好的,但 MoltenVK 与 MoltenGL 不同。您必须切换到使用 Vulkan 而不是 OpenGL。
      • 悲伤 :( 是的,我猜 MoltenGL 的许可证会很贵 :(
      • MetalANGLE 是免费和开源的:请参阅下面的答案。
      【解决方案3】:

      我在我的商业产品中使用MetalANGLE,它是免费和开源的,具有非病毒许可,作为(几乎)替代 GLKit。我不必对使用 OpenGL ES 的代码部分进行任何更改,并且只对我的 View 和 ViewController 类的初始化方式进行了微小的更改。

      我从 GLKit 迁移到 MetalANGLE 已经六个月了,唯一出现的问题是缩放问题,这确实是我的应用程序中的一个错误:在 MetalANGLE 中,我需要从视图的 contentScaleFactor 中检索 UI 比例,而不是[[UIScreen mainScreen] scale].

      没有显示故障、崩溃、减速或任何图形渲染问题。

      因此,我认为没有理由为 MoltenGL 付费而不是使用免费的 MetalANGLE。

      【讨论】:

        猜你喜欢
        • 2019-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多