Как вы сказали, в OpenGL (ES) относительно легко выполнить то, что вы просите, однако не так легко объяснить это кому-то, кто не уверен в OpenGL:)
Прежде всего, я могу предложить вам взглянуть на Красную книгу , справочное руководство по OpenGL или на OpenGL Wiki .
Для начала вы можете потренироваться, используя GLUT ; это поможет вам обрести уверенность в OpenGL, предоставляя некоторый высокоуровневый API, который позволит вам пропустить скучную сторону настройки контекста OpenGL, позволяя перейти непосредственно к части чертежа.
OpenGL ES является подмножеством OpenGL, поэтому, по сути, имеет такую же структуру. Как только вы поймете, как использовать OpenGL, не должно быть так сложно использовать OpenGL ES. Конечно, Документация Apple - очень важный ресурс.
Теперь, когда вы знаете много вещей об OpenGL, вы сможете легко понять, как должна быть структурирована ваша программа.
Вы можете, например, сохранить свою точку зрения фиксированной и перевести мир (или наоборот). Не существует (конечно) универсального решения, тем более что единственное, что имеет значение, это конечный результат.
Другое решение (может быть, в равной степени хорошее, это зависит от ваших потребностей), может заключаться в том, чтобы просто увеличивать и уменьшать изображения (представляющие объекты вашего мира) для имитации движения через сам объект.
Например, вы можете использовать массив для хранения всех ваших изображений и использовать ползунок для установки (увеличения / уменьшения) размера вашего изображения. Как только изображение становится слишком большим для дисплея, вы можете постепенно уменьшать альфа, так что изображение позади будет медленно появляться. Взгляните на UIImageView справочник , он содержит все API, необходимые для него.
Это может привести к потере трехмерности, но, вероятно, это более простое / быстрое решение, чем изучение OpenGL.