18

我正处于一个艰难的选择之中。我想学习一种语言,它可以帮助我创建具有强大艺术/创意/图形组件的应用程序,并将其用于我的客户的商业项目。

我的第一选择是 OpenGL ES,我认为它是“标准”的方式。但是,与此同时,我发现了这个网站:http ://www.creativeapplications.net/ ,在那里我发现了许多很棒的 ios 应用程序,其中大多数是使用OpenFrameworsCinder构建的。

我的问题是:为什么选择这 2 个“包装器”而不是 OpenGL?我需要了解好处和坏处。

我不确定使用这些框架我可以以简单(和标准)的方式(对于 OpenGL)UIKit/Cocoa 和图形进行混合。目前我仍然更喜欢 OpenGL,因为我知道这是苹果建议的方式(我的意思是......苹果提出的),我相信我也可以为我的客户利用它。虽然我不确定使用 OF 和 Cinder 我可以完全管理 UIKit 和 Cocoa 而无需任何技巧。

4

5 回答 5

9

正如 Ruben 所说,使用框架的好处是您无需重新发明轮子。OpenGL 没有提供很多你通常需要的类:向量、矩阵、相机、颜色、图像等以及你需要使用它们的方法:归一化、算术、叉积等

当然,您可以在 OpenGL 中实现所有这些,但如果有人以前做过,为什么不直接利用它呢?您选择的框架或库将取决于您喜欢的实现。OF 将对 Cinder 做不同的事情,这与另一个库不同。

您不必使用框架提供的所有内容。如果您不喜欢基本应用程序(例如 Cinder),您可以创建自己的上下文以及不喜欢的内容,只需使用框架的 3d 数学库,或其图像库,或您想要的任何其他部分。只需包含您想要的相关标题。

或者,如果您愿意,也可以只使用 3d 数学库并一起取消框架。这使您可以更好地控制渲染管道,并可能减小应用程序的大小。

最终,您的选择将取决于其功能和您对特定风格的偏好。我建议使用您熟悉的并且已在生产中使用的框架或库(除非您只是在玩弄东西)。文档也很重要。如果文档/资源不是很好,我会回避使用某些东西。

当然,如果您想了解细节(绝不是一个坏主意),请务必编写自己的库。

于 2011-05-19T18:44:36.757 回答
7

我认为选择 OF 和 Cinder 的主要优点是您可以专注于您的创作,而不是浪费大量时间处理 OpenGL 库。Cinder 甚至包括图像下载和内存处理。但是,您必须耐心等待,因为这些框架现在正在导入到 iOS 平台。

在几个月或几年内,每个人都会使用这些框架来抽象图形编程背后的所有东西,从而为他们带来创作艺术的全部潜力和时间!

于 2011-04-25T11:24:08.237 回答
3

如果你没有错过任何东西,我认为你可以单独使用 OpenGL。

Cinder 提供了一些额外的好处,请参阅http://libcinder.org/features/。也许三角测量、系统字体的加载、矩阵支持等将来可能对你感兴趣。

此外,Cinder 的Tinderbox使创建新项目变得非常容易。

于 2011-05-03T13:45:37.810 回答
3

现在 Cinder 和 OF 都完全支持 iOS 平台,您可以在 iOS 应用程序中轻松使用它们。

另请注意,这些框架是专门为设计师和创意艺术家/编码员设计的,但 OpenGL 是处理图形硬件的技术标准。

于 2011-11-01T23:33:35.110 回答
3

注意:我是这个框架的作者。

我花了一些时间创建 Rend,这是一个基于 Objective-C 的 iOS OpenGL ES 2.0 框架。它是轻量级的,专注于纯渲染,这可能适用于某些项目。

此外,如果您正在创建自己的框架,则可以将其用于灵感和代码片段。

http://github.com/antonholmquist/rend-ios

于 2012-06-29T15:32:49.767 回答