Я разберу свой ответ на 3 раздела: iOS, Android и Windows Phone, так как это самые распространенные мобильные операционные системы.
IOS
OPENGL не является необходимым, если вы не хотите, чтобы сделать высокопроизводительные игры. Это означает, что вы можете нарисовать простые 2d-файлы по программному обеспечению (cpu), но вы не сможете нарисовать удивительные 3D-миры (эго-шутер, 3D-гоночные игры и т. Д.) Или 2-е игры со слишком сложными эффектами. В новых версиях iOS (не помню фактическую версию) материал 2d ui также аппаратно ускоряется. Для использования opengl вы должны использовать стороннюю библиотеку, такую как вы упомянули.
Android
Здесь в основном так же, как на IOS применяется - Вам не нужно использовать OpenGL, но если вы у вас есть больше возможностей в сложности, графики и гибкости.
До версии Android 3.0 (API 11) вы можете включить аппаратное ускорение даже для двухмерной холст-графики.
Windows Phone 7
Здесь вы определенно не будете использовать OpenGL. Какие? Не удивительные игры в wp7? Хех, конечно, это имя Direct3D 9. Это подвеска MS для open source opengl. Direct3d, короче говоря, намного проще в использовании, имеет намного больше возможностей и, в основном, обеспечивает лучшую производительность. И все это, даже direct3d 9 немного устарело, текущая версия - 11.1, что действительно потрясающе. Im ни wp7, ни windows fanboy, но direct3d просто получил более простой apis. Дополнительно Visual Studio обеспечивает лучшую интеграцию для разработки игр (XNA + VS).
Разное
Я программировал на всех трех платформах, в основном на Android, таким образом, говоря: Разработка игр на Android является самым сложным на всех трех, потому что нет никакой прямой поддержки со стороны IDE и он быстро может успокойся.Я рекомендую использовать стороннюю библиотеку, такую как LibGDX, которую я делаю. Затем идет iOS, что обеспечивает небольшую поддержку XCode для разработки игр. И, наконец, Windows Phone 7, где Visual Studio обеспечивает полноценную поддержку разработки игр.
Заключение
Наконец сказал: Для простой обработки изображений (вращение, перевод) вам не нужно OPENGL. Для сложных транзисторов, даже если они 2d, вы действительно должны использовать openGL. Лично я никогда не буду делать игру без аппаратного ускорения - из-за производительности и незначительной гибкости. Вы не можете сказать, что произойдет в будущем!
Можете ли вы объяснить немного лучше о двух вариантах здесь? Вы можете визуализировать разные изображения с помощью OpenGL. Поэтому я не понимаю, как это выбор. Кроме того, ваш второй вопрос - это отдельный вопрос (а не конструктивный, поскольку это просто приглашение для обсуждения). –