Ответ 1
Оба эти класса связаны с OpenGL ES, но только один из них фактически предоставляется Apple как часть SDK iOS.
EAGLView
не является классом, снабженным Cocoa Touch framework. В шаблонах 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.