Я не могу думать ни о чем, что делает GLKit, что не может быть заменено не-GLKit кодом. Это может упростить некоторые задачи OpenGL ES 2.0, абстрагируя их от вас, но не делает ничего уникального. Самое близкое к тому, что вы не можете воспроизвести в другом месте (из того, с чем я возился), - это ускоренные матрицы и функции векторной математики, которые он предоставляет, но даже они могут быть заменены небольшим кодом ускорения или NEON.
Хотя я хотел бы использовать GLKit в своих приложениях, я все еще поддерживаю с ними iOS 4.2, в которой GLKit недоступен. В настоящее время я ничего не могу сделать, потому что не могу использовать GLKit, мне просто нужно написать немного больше кода для обработки таких вещей, как обновления представлений, загрузка текстур, математическая математика и т. Д. Существует множество документации и примеров. для этих операций, поэтому вам не нужно беспокоиться о том, чтобы быть самостоятельно, когда дело доходит до их реализации.
У вас будут гораздо большие проблемы, чем у GLKit, при попытке сделать ваш код кросс-платформенным с Mac, и особенно с Windows. Рабочие столы OpenGL и OpenGL ES имеют некоторые различия в своих реализациях, и вам необходимо знать, где можно заменить одну функцию или встроенную переменную другой. CAOpenGLLayer и NSOpenGLView на Mac также отличаются от CAEAGLLayer на iOS, и в целом AppKit отличается от UIKit.
Windows будет еще более сложной задачей для поддержки, потому что вы не сможете использовать ни одну из платформ Cocoa, и, скорее всего, также не Objective-C. Это займет намного больше вашего времени, чем любые различия OpenGL / OpenGL ES.