2009-12-23 126 views
3

我有一些CocoaTouch图层,核心服务层iPhone应用程序的开发经验。学习iPhone开发图形框架

现在,我必须迁移一些纯2D和3D图形iPhone应用程序。

对于按我的知识,我需要以下框架来学习:

1)核芯显卡 2)的OpenGL ES 3)石英核心

我想知道应该是什么办法快速学习这个框架。

否则哪些框架学习,哪些不是,以及使用哪个来源我应该学习这个框架。

在此先感谢

回答

6

核芯显卡

对于这一点,我会首先推荐阅读Quartz 2D Programming Guide。这是你在这个主题上找到的最好的一套文档。接下来,我通读了一些标记为core-graphicsquartz-2dquartz-graphics的问题。这些问题的答案中有一些很好的源代码示例。

的OpenGL ES

有许多 “开始使用的OpenGL ES” 的问题在这里,链接到许多资源。这些措施包括:

我个人建议书"Mobile 3D Graphics: with OpenGL ES and M3G",还有"OpenGL ES Programming Guide for iPhone OS"。我的应用程序Molecules是开源的,它使用OpenGL ES。最后,Jeff LaMarche在OpenGL ES上有一个great tutorial series

核心动画

石英核心,你可能意味着核心动画。再次,我会从Apple的Core Animation Programming Guide开始,然后看看代码示例,您可以在这里找到各种core-animation标记的问题。除此之外,比尔Dudney的书Core Animation for Mac OS X and the iPhone是一个非常好的介绍,和马库斯Zarra和马特龙的Core Animation书看起来更详细的主题。

+0

@Brad Larson:非常感谢大家的回复......我真的很感激。 – Nirmal 2009-12-24 09:51:55

3

我不确定真的有一种快捷方式。文档相当广泛。而且你需要对基本图形原理有非常扎实的认识。我很难理解概念,并且使用了很多图形工具包。

几个百分点,可能是有用的:

  • 试图绘制一个旋转的图像时,您需要翻译的坐标变换回QUARTZ原点(左下)不是一些定制的起源你设置,例如左上角

  • 因此,你最好(除非你知道你,没有人维护你的代码将永远想要旋转的图像)接受使用左下角坐标的可能新想法(在适当的情况下),而不是试图用c来覆盖它们挂上下文CTMs

  • 不要以为Core Graphics可以做你想做的一切。您可能需要手动处理像素的自己的一些任务

  • 设计,内存限制和数量和缓冲区的大小要坚决做一个处理顺序记

  • 设计与1024个像素的纹理大小限制头脑

  • 确保您使用CPU和/或GPU功能范围内的算法和方法;与实体模型试验第一试探性能问题

  • 如果这样做3D动画在OpenGL ES确保你有办法调和,并与物理模型进行同步实时无论你是动画

  • 考虑色彩管理,阴影和高亮,特别注意设备的功能有

  • 尽可能使用核心动画代替核芯显卡