Рендеринг OpenGL ES по запросу с использованием GLKit

Я собираюсь преобразовать свой код рендеринга OpenGL, чтобы воспользоваться некоторыми функциями GLKit (а именно асинхронной загрузкой текстур и автоматизацией, обеспечиваемой GLKView / Controller ). Тем не менее, похоже, что классы предназначены в основном для размещения людей, выполняющих рендеринг с использованием цикла анимации, тогда как я работаю с рендерингом по требованию. Кроме того, часть рендеринга выполняется в текстуру, а не в буфер кадра GLKView, поэтому стоит ли мне просто создать подкласс GLKView и добавить дополнительные FBO?

Есть ли рекомендуемый подход для этого типа настройки? Я бы ожидал чего-то вроде:

  • Установите primaryFramesPerSecond контроллера представления на 0 , или просто приостановите обновление кадров?
  • Игнорируйте glkViewControllerUpdate или glkView: drawInRect: методы и просто рисуйте то, что мне нужно, когда мне это нужно.
  • Используйте setNeedsDisplay представления, как и обычный UIView , чтобы отобразить фрейм (нужно ли мне вызывать bindDrawable , учитывая, что Я тоже буду рендерить текстуру?).

Возможно, это не стоит усилий, если новый API предназначен не для этого? Хотелось бы, чтобы документация была немного более полной, чем есть на самом деле.Возможно, будет предоставлено больше примеров, когда API немного «созреет» ...

Спасибо

18
задан Stuart 19 October 2011 в 18:17
поделиться