我正处于一个艰难的选择之中。
我想学习一种语言,可以帮助我创建具有强大艺术/创意/图形组件的应用程序,并将其用于我的客户的商业项目。
我的首选是OpenGL ES,我认为它是“标准”的浏览方式。
但是,与此同时,我发现了这个网站:http://www.creativeapplications.net/,在其中我找到了许多很酷的ios应用程序,其中大多数是使用OpenFramewors和Cinder构建的。
我的问题是:为什么选择2个“包装器”而不是OpenGL?我需要了解优点和缺点。
我不确定使用这些框架是否可以以简单(和标准)的方式(对于OpenGL)混合使用UIKit/Cocoa和Graphics。目前,我仍然更喜欢OpenGL,因为我知道这是苹果公司(我的意思是……苹果公司提出的)建议的方式,而且我敢肯定,我也可以为我的客户利用它。虽然我不确定使用OF和Cinder,但是我可以毫无技巧地完全管理UIKit和Cocoa。
最佳答案
正如Ruben所说,使用框架的好处是您无需重新发明轮子。
OpenGL没有通常需要的很多类:向量,矩阵,相机,颜色,图像等以及使用它们所需的方法:归一化,算术,叉积等
当然,您可以在OpenGL中实现所有这些功能,但是如果有人以前做过,为什么不仅仅利用它呢?您选择的框架或库将取决于您喜欢哪种实现。 OF的处理方式与Cinder的处理方式不同,而Cinder与另一个库的处理方式不同。
您不必使用框架提供的所有内容。如果您不喜欢基本应用程序(例如Cinder),则可以创建自己的上下文以及不创建上下文,而仅使用框架的3d数学库,图像库或所需的任何其他部分。只需包括所需的相关标题即可。
另外,如果您愿意并且可以一起使用框架,则可以只使用3d数学库。这使您可以更好地控制渲染管道,还可以减小应用程序的大小。
最终,您选择的内容将取决于其功能以及您对特定样式的偏爱。我建议使用您已经习惯并已在生产中使用的框架或库(除非您只是在玩弄东西)。文档也很重要。如果文档/资源不是很好,我会回避使用某些东西。
当然,如果您想学习详细内容(绝不是一个坏主意),则一定要编写您自己的库。
关于iphone - OpenGL ES,OpenFrameworks,Cinder和IOS创意开发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5776839/