У меня есть приложение, работающее на iPad, которое использует множество текстур, рендеринг в один EAGLView. Теперь мне нужен второй EAGLView, разделяющий текстуры с первым.
Я могу добиться того, чтобы оба представления хорошо отображались параллельно на экране, исправляя некоторые ошибки проектирования в коде Apple (например, для ViewController по умолчанию требуются некоторые настройки для поддержки нескольких дочерних объектов EAGLView). Но я не могу получить доступ к текстурам.
Я не могу дублировать текстуры (это удвоило бы использование памяти - и мы уже используем большую часть памяти).
Я не могу найти никакой документации от Apple о том, как обмениваться текстурами между несколькими EAGLView - есть «намеки» на то, для чего предназначен EAGLShareGroup, позволяющий каждому GLView иметь свой собственный контекст, но два контекста для совместного использования ShareGroup - но ничего явного, что я смог найти.
Я пытался найти ответ на этот вопрос: Текстуры не рисуются, если используется несколько EAGLViews
... но это не был действительно ответ. Он указал на EAGLSharegroup, фактически не объясняя, как его использовать - кажется, что нет никакой разницы. Он также косвенно указывал на страницу о рендеринге из нескольких потоков - это совершенно другая проблема, и у меня нет никаких проблем, перечисленных там (сбой приложения и т. Д.).