Я работаю над приложением для iPhone OS, основным видом которого является двумерное представление OpenGL (это подкласс класса Apple EAGLView, в основном устанавливающий ортопроецируемую двумерную среду), с которым пользователь взаимодействует напрямую.
Иногда (не всегда) я хотел бы отобразить некоторые элементы управления поверх этого базового представления GL — представьте, что это Heads-Up Display. Обратите внимание, что базовый вид внизу может прокручиваться/анимироваться, в то время как элементы управления должны казаться фиксированными на экране выше.
Я хорошо разбираюсь в представлениях Cocoa в целом, и я неплохо разбираюсь в CoreGraphics, но я зеленый с Open GL, и операции EAGLView (и его связь с CALayers) довольно непрозрачны для меня. Я не уверен, как наиболее эффективно смешивать другие элементы (читай: лучшая производительность, минимум хлопот и т. д.). Я знаю, что в крайнем случае я могу создать и сохранить геометрию для всех других элементов управления, а также визуализировать их поверх моей базовой геометрии каждый раз, когда я рисую/переключаю местами, и, таким образом, просто сохраняю все, что видит пользователь, в одном представлении. Но я менее уверен в других методах, таких как наличие другого представления поверх (UIKit/CG или GL?) или каким-то образом создание других слоев в моем единственном представлении и т. д.
Если бы люди были так любезны написать несколько кратких наблюдений, если они путешествовали по этим дорогам раньше, или, по крайней мере, указать мне на документацию или существующие обсуждения по этому вопросу, я был бы очень признателен.
Спасибо.