2014-02-20 61 views
1

我正在爲我的應用程序添加一個GLView,並且沿途我學到了I need to add the GLKit frameworkGLKit.framewok vs OpenGLES.framework vs QuartzCore.framework

所以當我添加這個框架時,我意識到有一個非常相似的名爲OpenGLES.framework的框架。

我試圖查看這兩個框架在谷歌上的區別,我登陸在this page

這篇文章似乎暗示我需要一個額外的框架,稱爲QuartzCore.framework,這使我更困惑。

我有以下問題:

1)如何將這些框架的相互關係? 2)看起來像GLView框架本身將使GLView能夠工作。我什麼時候需要使用其他兩個框架?

回答

3

OpenGL ES是GPU加速繪圖的跨平臺C API,特別適用於3D圖形和圖像處理。在iOS上,您鏈接到OpenGLES.framework,提供對跨平臺API和最基本iOS特定API(EAGLContextCAEAGLLayer)的訪問,以便在您的應用中使用OpenGL ES。

GLKit是一個Apple特定的框架,增加了用於基於ES的OpenGL應用程序更容易的開發額外的功能,如很好地總結了教程鏈接到:

  • GLKView/GLKViewController。這些類抽象出大部分用於設置基本OpenGL ES項目的樣板代碼。
  • GLKEffects。這些類實現了OpenGL ES 1.0中常用的着色行爲,以便更輕鬆地轉換到OpenGL ES 2.0。它們也是獲得一些基本照明和紋理工作的便捷方式。
  • GLMath。在iOS 5之前,幾乎每款遊戲都需要自己的數學庫,包含常用的矢量和矩陣操作例程。現在使用GLMath,大部分常用的數學例程都在您身邊!
  • GLKTextureLoader。該類使得將圖像加載爲OpenGL中使用的紋理變得更加容易。不必編寫處理大量不同圖像格式的複雜方法,加載紋理現在是一種方法調用!

如果您鏈接GLKit.framework,你OpenGLES.framework免費 - 同樣,如果您導入GLKit頭,OpenGL ES的頭一起前來的行列。

QuartzCore用於直接與Core Animation圖層一起工作。在推出GLKit之前,您必須設置您自己的圖層來獲取屏幕上的OpenGL內容 - 現在,您可以代表您使用這個圖層,因此除非您想使用Core Animation做更多有趣的事情,否則不需要QuartzCore。

相關問題