我见过iOS应用中使用EAGLView和GLKView,它们之间有什么区别?
我见过iOS应用中使用EAGLView和GLKView,它们之间有什么区别?
这两个类都与OpenGL ES相关,但只有一个是作为iOS SDK的一部分由Apple提供的。
EAGLView
不是Cocoa Touch框架提供的类。在苹果的OpenGL ES模板和示例代码中,他们创建了这个名称的类来托管OpenGL ES内容。其他人在撰写有关此主题的教程时也复制并粘贴了这些类。总的来说,所有这些名称的类共同具有的一个元素是它们覆盖+layerClass
方法以返回[CAEAGLLayer class]
,表示这些视图将在其后备层中托管OpenGL ES内容。
GLKView
是iOS 5.0中GLKit框架的一部分。GLKit旨在通过提供像GLKView这样的辅助类简化显示OpenGL ES材料所需的一些设置。GLKView会为您处理帧缓冲区和渲染缓冲区的设置,以及一些您通常需要编写代码处理的其他任务。
您可能不会在教程中看到这个类的使用频率很高,因为许多教程是在iOS 5.0之前编写的,但这是一个方便的辅助类,可以简化iOS OpenGL ES渲染。