Оба эти класса относятся к OpenGL ES, но Apple фактически предоставляет только один из них как часть iOS SDK.
EAGLView
- это не класс, предоставляемый каркасом Cocoa Touch. В шаблонах Apple OpenGL ES и образце кода они создали классы с этим именем, которые содержат содержимое OpenGL ES. Другие скопировали и вставили эти классы в учебники, которые они написали на эту тему. Как правило, один элемент, который объединяет все классы с этим именем, состоит в том, что они переопределяют метод +layerClass
, возвращая [CAEAGLLayer class]
, что указывает на то, что в этих представлениях будет размещаться содержимое OpenGL ES на их уровне поддержки.
GLKView
является новым в iOS 5.0 как часть платформы GLKit. GLKit стремится упростить некоторые настройки, необходимые для отображения материала OpenGL ES, путем предоставления вспомогательных классов, таких как GLKView. GLKView выполняет настройку кадровых буферов и буферов рендеринга для вас, а также некоторые другие задачи, для которых вам обычно приходится писать код.
Возможно, вы не увидите, чтобы этот класс часто использовался в учебниках, поскольку многие из них были написаны до iOS 5.0, но это удобный вспомогательный класс, который может упростить рендеринг iOS OpenGL ES.