2015-09-27 43 views

回答

0

看一看MetalGL 。這是的OpenGL ES金屬運行的實現。你寫在的OpenGL ES您的應用程序,如果金屬可在設備上,MetalGL將在金屬自動運行的OpenGL ES代碼,包括着色器轉換。如果金屬不可用在設備上,MetalGL將運行原生的OpenGL ES引擎。

根據您的應用瓶頸的性質,對運行金屬當你的應用程序可能是更好的性能,並MetalGL可以幫助你瞭解是否以及如何您的應用程序將金屬受益,無需你重寫你的應用程序金屬

充分披露...我在MetalGL開發小組工作。

+0

嗨,比爾!我從cocos2d論壇認識你。如果我使用cocos2d-objc 3.4.9,它可以應用於我的應用程序嗎? –

+0

嗨安德魯。其實,我相信Cocos2D的版本已經直接支持Metal。但是,如果不是,MetalGL至少已經針對Cocos2D 3.2進行了測試,所以它不應該有任何問題。 –

0

是的,它是可能的。我在發佈的遊戲中這樣做。 爲了測試金屬支撐件上的裝置通話:

// this returns NULL if the device does not support Metal 
Class metalAvailable = NSClassFromString(@"CAMetalLayer"); 

然後拿在代碼分離的路徑要麼初始化您的金屬渲染器或你的OpenGL ES渲染器。這很容易。