Ahoy!Соответствующее использование GLKBaseEffect
Я искал обновление старого тестового кода, пытаясь освежить новые функции, добавленные в GLKit. До сих пор мне удалось настроить GLKViewController и начать рендеринг некоторых основных форм, но изо всех сил пытались найти любую приличную информацию о GLKBaseEffect.
В GLKBaseEffect документации говорится:
Во время инициализации приложение создает первый 2.0 контекст OpenGL ES и делает его текущим. Затем он выделяет и инициализирует новый объект эффекта, настраивает его свойства и вызывает метод prepareToDraw. Привязка эффекта приводит к компиляции шейдера и привязка к текущему контексту OpenGL ES. Базовый эффект также требует, чтобы данные вершин были предоставлены вашим приложением. Чтобы предоставить данные вершин, создайте один или несколько объектов массива вершин. Для каждого атрибута, требуемого шейдером, объект массива вершин должен включать атрибут и указывать на данные, хранящиеся в объекте буфера вершин.
То, что я пытаюсь различить;
Нужен ли мне объект GLKBaseEffect для каждой «модели», которую я представляю? Или я использую единственный GLKBaseEffect для каждой «сцены» и просто изменяю свойства «на лету» перед вызовом prepareToDraw?
Я видел несколько руководств для игровых движков и рендереров, которые просто используют единственный GLKBaseEffect для каждой модели, но это кажется совершенно неэффективным, если то же самое можно было бы сделать с помощью одного экземпляра.
Из-за чтения документации почти похоже, что это лучший подход, но учитывая, что я видел так много людей, использующих несколько экземпляров, я начинаю думать, что это не так.
Может ли кто-нибудь пролить свет на это? GLKit по-прежнему довольно нова для iOS (и для меня), поэтому любая информация будет очень признательна.
Неужели никто не использовал GLKBaseEffect достаточно широко, чтобы обеспечить понимание? Мне интересно получать прибыль за использование одного экземпляра или если требуется несколько экземпляров. Я напишу тестовое приложение и опубликую результаты для всех, кто может быть заинтересован. – CaptainRedmuff