В чем разница между GLKView и EAGLView? - PullRequest
15 голосов
/ 07 декабря 2011

Я видел EAGLView и GLKView, используемые в приложениях iOS.В чем разница между ними?

1 Ответ

31 голосов
/ 09 декабря 2011

Оба эти класса относятся к 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...