OpenGL ES,OpenFrameworks,Cinder和iOS创意开发

18

我正面临一个困难的选择。

我想学一门语言,以便能够创造具有强烈艺术、创意和图形元素的应用程序,并将其用于我的客户的商业项目中。

我最初选择了OpenGL ES,我认为这是“标准”方法。但是,在此期间,我发现了这个网站:http://www.creativeapplications.net/ 在那里我发现了许多很酷的ios应用程序,大多数使用OpenFrameworksCinder 构建。

我的问题是:为什么选择这两个“包装器”而不是OpenGL?我需要了解它们的优缺点。

我不确定是否可以像使用OpenGL一样轻松(和标准地)混合使用UIKit/Cocoa和图形。目前,我仍然更喜欢OpenGL,因为我知道这是Apple推荐的方法,我相信我也可以为我的客户受益。虽然我不确定使用OF和Cinder是否可以完全管理UIKit和Cocoa而无需花招。


我因为声望不高而无法创建“cinder”标签 :P 有人能编辑这个表格并添加这个标签吗? - MatterGoal
5个回答

9
使用框架的好处,正如Ruben所说,是因为不必重新发明轮子。OpenGL并没有提供许多通常需要的类:向量、矩阵、相机、颜色、图像等,以及您需要使用的方法:规范化、算术、叉积等。
当然,您可以在OpenGL中实现所有这些,但如果有人已经做过了,为什么不利用一下呢?您选择的框架或库将取决于您喜欢的实现方式。OF会与Cinder有所不同,而其他库也会有所不同。
您不必使用框架提供的所有内容。如果您不喜欢基础应用程序(例如Cinder),可以创建自己的上下文,并只使用框架的3D数学库、图像库或其他任何部分。只需包括您想要的相关头文件即可。
或者,如果您愿意,您也可以仅使用3D数学库,完全放弃框架。这样可以更好地控制渲染流水线,并且还可能减小应用程序的大小。
最终,您的选择将取决于其功能和您对特定风格的偏好。我建议您选择一个您熟悉且已在生产中使用的框架或库(除非您只是在尝试玩耍)。文档也很重要。如果文档/资源不太好,我会避免使用它。
当然,如果您想学习细节(从来不是一个坏主意),请自己编写库。

7
我认为选择OF和Cinder的主要优势在于,你可以更好地专注于创作,而不是花费大量时间处理OpenGL库。Cinder甚至包括图像下载和内存处理。然而,你必须有耐心,因为这些框架正在被引入iOS平台。
在未来的几个月或几年里,每个人都将使用这些抽象出所有图形编程背后的东西的框架,以实现它们的全部潜力和制作艺术所需的时间!

3
如果你没有遗漏任何东西,我认为只使用OpenGL就足够了。
Cinder提供一些额外的好处,请查看http://libcinder.org/features/。也许在将来,三角剖分、系统字体加载、矩阵支持等可能对你有所帮助。
此外,Cinder的Tinderbox使创建新项目非常容易。

3
现在Cinder和OF都完全支持iOS平台,你可以在iOS应用程序中轻松使用它们。同时请注意,这些框架专门为设计师、创意艺术家/编码人员设计,但OpenGL是处理图形硬件的技术标准。

3
注意:我是这个框架的作者。
我花了一些时间创建了 Rend,这是一个基于 Objective-C 的 OpenGL ES 2.0 框架,适用于 iOS。它非常轻巧,专注于纯粹的渲染,对于某些项目可能非常合适。
此外,如果你正在创建自己的框架,你可以参考它并使用其中的代码片段。 http://github.com/antonholmquist/rend-ios

谢谢@Anton!这是一个非常有趣的项目,我一定会去看看 :) - MatterGoal
@anton rend-ios,我无法在TeapotController.m中访问REDisplayLink removeObserver方法,我该如何访问REDisplayLink? - SnakingPrabhu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接