我想学习Open GL ES for iOS。我听说Open GL ES主要用C ++或C语言编写。而iOS应用程序则用Objective-C或Swift完成。我是否可以使用C ++中的Open GL ES渲染图像和对象,并将其与Objective-C中的iOS部分结合使用。
如果可以的话,我会使用C ++在Xcode中使用Open GL ES部分还是使用其他IDE?然后显然使用Xcode作为iOS部分。
答案 0 :(得分:1)
对于您来说,“OpenGL ES主要编程为”的语言没有区别。重要的是API是什么样的。根据您使用的语言,API在iOS上有所不同。 ObjectiveC几乎所有的API都在C(非C ++)中,其余的是在ObjectiveC中(上下文包装并挂钩到UIView
)。另一方面,Swift在API周围使用Swift包装器,这通常是一个完全的痛苦,并且在Swift中使用数据和缓冲区结构的组合,我会(现在)不鼓励你使用Swift。您的应用程序可能仍在Swift中,但我建议至少openGL部分在ObjectiveC中,然后桥接到Swift以供使用。
使用ObjectiveC时,您可以使用标准C的所有功能。如果你想使用C ++,你需要设置某些标志,但有一种非常简单的方法可以让Xcode通过简单地将“.m”文件重命名为“.mm”来为你做。这些将默认使用C ++。
无论使用何种语言,我建议您使用Xcode作为openGL部分。友好的自动完成功能旁边有各种很好的工具来调试和分析您的产品。
您有一些由Apple设计的库,主要是在GLKit中。其中一些是很有用的,比如使用矩阵,但是一旦达到某个开发点,或多或少的其他一切归结为“不要使用它”。
但是既然你说你开始只学习我建议你只是从教程和文档中看到一些例子。所有的片段和解释(与其他文档相比),Apple原始openGL ES文档实际上令人印象深刻。所以你可以使用其中任何一个,可能还有一些StackOverflow,你应该马上就可以了。