Это довольно открытый вопрос, поэтому, вероятно, лучше всего начать с получения какого-то фона с помощью GLKit, а затем задать дополнительные вопросы, если у вас есть конкретные проблемы.
Посмотрите на код, который вы получаете при создании нового проекта Xcode, используя шаблон «OpenGL Game» - это устанавливает для вас GLKView
и GLKViewController
. Также есть описание того, как работают эти классы и как их использовать в Apple OpenGL ES Programming Guide.
Общая суть его: GLKView
делает все видеобуфера, renderbuffer и настройку окна просмотра и презентацию для основного OpenGL ES рисования (включая все дополнительные фреймбуфера жонглирование для мультисэмплинга, если вы хотите, что), так что все, что вы должны сделать выдает команды рисования. GLKViewController
владеет GLKView
и запускает таймер анимации, который вызывает ваш код чертежа - по умолчанию он не будет вызывать ваш код чертежа, когда приложение находится в фоновом режиме.
Если вы используете GLKViewController
и используете только вызовы OpenGL ES из метода рисования GLKView
(подкласс или делегат), вам не придется беспокоиться о сбое из-за использования графического процессора в фоновом режиме. Если вы видите такие сбои (с gpus_ReturnNotPermittedKillClient
в трассировке стека), это может помочь попытаться заставить GL завершить обработку перед выходом на задний план - вызовите glFinish()
в applicationWillResignActive:
.
вам удалось запустить OpenGLES 1.1 на GLKit? Если да, можете ли вы отправить решение здесь? – Dorald