2015-09-27 48 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渲染器。这很容易。