GLKView和EAGLView有什么区别?

15

我见过iOS应用中使用EAGLView和GLKView,它们之间有什么区别?

1个回答

31

这两个类都与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渲染。


很棒的回答。通常将事物做的方式置于历史背景下进行解释是很有帮助的。 - Dalbergia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接