我正在寻找一种方法来获取支持的OpenGL ES版本列表或iOS设备上提供的最大OpenGL ES版本在运行时?
理想情况下,解决方案绝不能:
PS:项目设置: 基础SDK =最新iOS(7.0) 部署目标:4.3
答案 0 :(得分:11)
执行此操作的首选方法是尝试为各种OpenGL ES版本创建上下文,如果失败则回退到旧版本。例如,您可以使用以下方法检查OpenGL ES 3支持:
EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3];
如果aContext
为零,则该设备不支持OpenGL ES 3.0。然后你可以回到
aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
测试2.0支持。如果失败(aContext
再次为nil),则设备仅支持OpenGL ES 1.1。这并不要求您检查设备类型(它会考虑未来的未发布设备)。