Новости про OpenGL и Unreal Engine 3

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

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

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

Unreal logo

  • Производительность демо 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 уклонился.

Бесплатный 3D движок Cafu Engine

Еще один бесплатный 3D движок для игр под GPL.

Cafu Engine logo

Ранее известный как Ca3DE, движок Cafu Engine переведён в разряд FreeWare и открыт исходный код. Cafu Engine, как и недавно также ставший бесплатным 3Impact, ориентирован на «хардкорных» C++ разработчиков, но содержит большое количество готовых инструментов. Графическая часть поддерживает работу с материалами, попиксельным освещением и шейдерными эффектами, для рендеринга используется OpenGL 2.0 с поддержкой фирменного языка шейдеров NVIDIA Cg. Движок предлагает встроенные функции создания многопользовательского режима (клиент-серверной архитектуры), импорт моделей из популярных форматов, создание растительности, кривые поверхности Безье, эффекты на системе частиц. Для игровой физики используется Bullet Physics.

Cafu Engine demo

Cafu Engine demo

Движок доступен для платформ Windows (~80 Мб) и Linux (~70 Мб) под лицензией GPLv3. Поддерживаются как 32-, так и 64-разрядные версии, версия для MacOS планируется в будущем. Средний рейтинг движка на сайте DevMaster.net составляет 4 балла — как у популярного OGRE.

Возможно, кто-то найдёт в нём то, чего не нашел в Unreal Engine 3.

Unreal Engine 3 будет использовать OpenGL

По крайней мере в реализациях игр для мобильных телефонов.

Как следует из пресс-релиза, разработчик Unreal Engine, компания Epic Games, и координирующая разработку спецификаций OpenGL Khronos Group заключили соглашение, по которому Epiс вошла в совет учредителей консорциума с правом голоса. Epic примет участие в разработке открытых графических стандартов, таких как OpenGL, и будет продвигать их на мобильные платформы.

Основной интерес Epic связан с OpenGL ES, основным стандартом графики на текущих мобильных платформах. Ранее уже демонстрировалась работа Unreal Engine 3 на iPhone 3GS с использованием OpenGL ES 2.0, так что вопрос о сохранении OpenGL рендера в Unreal Engine и эффектных игр для мобильных платформ на его основе можно считать вопросом времени. Хотя OpenGL всегда поддерживался движком, игры на базе Unreal Engine 3 для ПК и консолей включая Unreal Tournament 3 и Gears of War, использовали Direct3D или низкоуровневый API Playstation 3 и регулярно появлялись слухи об отказе от поддержке OpenGL в будущих версиях UE.