Новости про iPhone и OpenGL

Подробности об Unreal Engine 3 для мобильной платформы Apple

Мастерам из Epic удалось воплотить большинство функций движка для игр на мобильных платформах Apple последнего поколения.

Работа Unreal Engine 3 уже демонстрировалась на iPhone, но подробностей о ходе портирования пока не поступало. Теперь ведущий программист направления игровых консолей Epic Games, Josh Adams, рассказал подробности о портировании Unreal Engine 3 на мобильные платформы Apple. Некоторые интересные факты:

  • Производительность демо Unreal Tournament 3 на устройствах Apple достигает 25-30 FPS.
  • Unreal Engine 3 для платформы Apple использует OpenGL ES 2.0 для рендеринга. Это означает, что поддерживаться будут только iPhone 3GS, iPad и будущие модели. Предыдущее поколение устройств Apple поддерживало лишь OpenGL ES 1.0, без функций шейдеров.
  • Unreal Engine 3 также будет поддерживать Linux, MacOS и платформу NVIDIA Tegra 2.
  • Портирование UE3 на мобильные устройства — сложная задача: ядро движка состоит более чем из двух миллионов строк кода, что выливается в размер исполняемого файла в районе 16 Мб. На 90 % код движка платформонезависимый.
  • Все основные функции движка, связанные с геймплеем, физикой и даже форматами файлов полностью поддерживаются. Приложения для iPhone можно будет разрабатывать в привычных Windows-инструментах, включая UE Editor. Адаптации подвергся лишь Render Hardware Interface (RHI) — «прослойка» между рендером движка и API платформы.
  • В движок введён ряд приёмов для адаптации сцены к ограничениям мобильных устройств. Так, заданные статичные и динамические источники освещения превращаются в один-два усреднённых источника, снижая стоимость рендеринга освещения. Сложные шейдеры материалов (до 20 на материал) предпросчитываются и сохраняются в текстуру, за счёт маленького разрешения экрана результат почти неотличим.
  • Управление с сенсорного экрана реализовано через концепцию буферов ввода для движений, с привязанной к очерёдности кадров обработкой, в то время как сигнал с датчика наклона также обрабатывается по интервалу, но без буферизации. Планировалось использовать акселерометр iPhone для улучшения точности поворотов, но работа с данной функцией оказалась слишком накладной в плане затрат времени центрального процессора.
  • Существенным недостатком OpenGL ES 2.0 является отсутствие функций раннего отсечения невидимых поверхностей — из-за этого размеры игровых уровней придётся уменьшать.
  • Пока что Epic не получила доступа к технологиям iPad и не располагает данными о его производительности, но поддержка iPad стоит в планах развития UE3.
  • На платформах Apple Unreal Engine 3 ограничен в большей степени CPU, чем графической подсистемой.
  • От ответа на вопрос о поддержке Android Josh Adams уклонился.
Gamerlive.tv - Unreal Engine on iPhone

Samsung рассказала о преимуществах своей реализации OpenGL ES над iPhone и Android

На сайте операционной системы «bada» будущих мобильных телефонов компании инженеры Samsung сравнили свою реализацию OpenGL ES с конкурентами.

Операционная система «bada» уже несколько лет разрабатывается в Samsung для перспективных мобильных решений компании. Разумеется, всё более активное использование графики в портативных устройствах не обошли вниманием — bada поддерживает как первую, так и вторую версию реализации OpenGL для встраиваемых решений OpenGL ES. Вероятно, дела по реализации поддержки пошли столь успешно, что инженеры Samsung не побоялись прямых сравнений с конкурентами. В качестве платформ для сравнения были выбраны iPhone от Apple и Google Android.

Большая часть приведенной в источнике информации интересна лишь программистам, краткий же вывод таков: в то время как на iPhone и Android программиста загоняют в специальные методы использования OpenGL ES, мы (Samsung) позволяем им творить что угодно, хоть напрямую с API, хоть через свои фреймворки. Вообще-то, для будущих пользователей платформы подобный подход грозит обернуться хорошо знакомыми по «большому» OpenGL проблемами совместимости приложений с конкретными реализациями.