Вчера был представлен релиз кроссплатформенного фреймворка для разработки 3D-приложений PixelLight.
PixelLight может применяться для разработки любого типа приложений, работающих с трехмерной графикой, таких как игры, интерактивные симуляторы или визуализации. Включает в себя гибкую систему графа сцены, позволяющую скомпоновать и визуализировать почти любую трехмерную сцену.
Написан на С++. Основными его достоинствами являются гибкость и расширяемость. Это не только 3D-движок, но еще и законченный фреймворк, позволяющий объединить всё, что необходимо разработчику, не беспокоясь о наличии и версиях внешних библиотек («всё свое ношу с собой»), API или используемой операционной системе. Нижележащие особенности систем и библиотек скрыты за мощной системой компонентов, которая существенно упрощает создание приложений для различных платформ. Этот набор компонентов может применяться для таких аспектов приложения, как рендеринг, звук, физика, сеть, скриптинг и так далее.
Основные особенности:
- Поддерживаемые платформы: Microsoft Windows (XP, Vista, 7), Linux, Android, Maemo 5 (экспериментально).
- Подсистемы визуализации: OpenGL, OpenGL ES 2.0, поддерживается отложенный рендеринг.
- Плагины:
- гибкая архитектура плагинов;
- фронтенды: один для собственного GUI PixelLight, один для Qt, и нулевой фронтенд, который используется, например, при рендеринге в фоновый буфер;
- вывод звука: OpenAL, FMOD и FMODEx;
- физика: Newton, ODE и PhysX;
- поддержка множества устройств ввода, например, SpaceNavigator и WiiMote;
- интеграция стороннего промежуточного ПО, например, SPARK как альтернативный движок систем частиц, или libRocket для интерфейса на HTML и CSS;
- поддержка Lua и экспериментальных бекендов для Javascript(V8), Python и AngelScript.
- Продвинутые системы интроспекции, плагинов и компонентов.
- Плагин для экспорта из Autodesk 3ds Max.
Разработка была начата в 2002 году, первый опубликованный релиз (0.9) стал доступен в августе 2010. Основное внимание в версии 1.0.0 было уделено исправлению ошибок.
В подсистему визуализации была добавлена поддержка тесселяции, объемного рендеринга и инстансинга геометрии. Благодаря сообществу был существенно переработан установщик SDK для Linux (на данный момент существует только в виде .deb пакета) — по заверениям разработчиков, достигнут уровень «искаробочности». Для приложений, созданных с использованием SDK, написаны shell-скрипты, с использованием которых оно может быть запущено без необходимости каких-либо изменений в системе.
С полным списком изменений можно ознакомиться здесь.
>>> Подробности