Я пытаюсь обернуть голову вокруг объектной модели OpenGL на iPhone OS. В настоящее время я отрисовываю несколько разных UIView
с (сборка CAEAGLayer
с) на экране. В настоящее время каждый из них использует отдельный EAGLContext
, каждый из которых имеет цветной буфер визуализации и кадровый буфер.
Я рендерим в них похожие вещи, и я хотел бы разделить текстуры между этими экземплярами, чтобы сэкономить память.
В настоящее время я понимаю, что я мог бы использовать одну и ту же настройку (некоторое количество контекстов, каждый с FBO / RBO), но если я вызову более поздние, используя EAGLShareGroup
первого, тогда я могу просто использовать Имена текстур (GLuints) из первых в более поздних. Это точно?
Если это так, я предполагаю, что последующий вопрос: какая польза от того, чтобы это было "группой акций"? Могу ли я просто использовать один и тот же контекст и присоединить к этому контексту несколько FBO / RBO? Я думаю, что я борюсь со слоем абстракции группы акций, которая, кажется, разделяет «объекты» (текстуры и другие именованные объекты), но не «состояние» (матрицы, включенные / отключенные состояния), которые принадлежат контексту.
Какой лучший способ думать об этом?
Спасибо за любое просвещение!