2009-12-23 51 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確保你有辦法調和,並與物理模型進行同步實時無論你是動畫

  • 考慮色彩管理,陰影和高亮,特別注意設備的功能有

  • 儘可能使用核心動畫代替核芯顯卡