Разработчик (и) | Николаус Гебхардт и др. |
---|---|
Стабильная версия | 1.8.4 / 9 июля 2016;. 4 года назад (2016-07-09) |
Репозиторий | |
Написано на | C ++ |
Операционная система | Кросс-платформенная : Windows, Linux, macOS, Windows CE |
Тип | Платформа приложения |
Лицензия | на основе zlib / libpng |
Веб-сайт | irrlicht.sourceforge.net |
Irrlicht (произносится на немецком языке) - открытый исходный код игровой движок, написанный на C ++. Это кроссплатформенный, официально работающий в Windows, macOS, Linux и Windows CE, и благодаря доступны его открытые порты для других систем, включая FreeBSD, Xbox (до Irrlicht версии 1.8.1), PlayStation Portable, Symbian, iPhone, AmigaOS 4 и Google Native Client.
Irrlicht известен своими небольшими размерами и совместимостью с новым и старым оборудованием, простотой обучения и большое дружное сообщество. Существуют неофициальные привязки для многих языков, включая AutoIt, C ++ Builder, FreeBASIC, GameMaker Language, Java, Lua, .NET, Object Pascal (Delphi ), Perl, Python и Ruby, хотя большинство из них не поддерживалось пять и более лет.
Разработка Irrlicht началась в 2003 году с одного разработчика, Николауса Гебхардта. Только после выпуска Irrlicht 1.0 в 2006 году команда выросла до десяти человек по состоянию на 2011 год, большинство из которых были разработчиками.
Irrlicht - это распространенный немецкий термин для воли-о-о- wisp.
Irrlicht поддерживает 3D-рендеринг через OpenGL, DirectX 8, 9 и 11 (с расширением DirectX 11 ) и внутренние программные растеризаторы. DirectX 8 не будет поддерживаться после версии 1.8.1, что фактически прекратит поддержку Xbox. Внешние рендереры и оконные системы подключаются через простые интерфейсы, что приводит к созданию видеодрайвера Simple DirectMedia Layer (SDL), созданного сообществом, и поддержки для iPhone и Symbian устройств. Движок поставляется с библиотекой стандартных средств рендеринга материалов, что позволяет использовать резервные материалы, когда оборудование пользователя не может обрабатывать расширенные методы. Новые материалы могут быть добавлены в движок во время выполнения, что позволяет пользователям писать свои собственные по мере необходимости. В дополнение к устаревшим материалам конвейера с фиксированными функциями поддерживаются программируемые пиксельные и вершинные шейдеры (с 1.1 по 3.0 и 4.0 с использованием GLSL), программы ARB Fragment и Vertex, материалы HLSL, Cg и GLSL.
Попиксельное освещение в Irrlicht Карты освещения и освещение вершин в Irrlicht, рендеринг простой сцены подземельяIrrlicht поддерживает множество форматов файлов. Он будет загружать и отображать файлы 3ds Max, модели Quake 2 MD2, объекты Wavefront.obj, карты Quake 3.bsp, объекты Milkshape3D и файлы DirectX.x. Дополнительные загрузчики формата были написаны как внешние плагины. Освещение, камеры и 3D-объекты управляются как дерево узлов сцены, произвольные группируемые объекты, связанные вместе в графе сцены. Эти узлы несут ответственность за собственное поведение, но также могут управляться аниматорами, друг другом или вручную пользователями.
Существует множество типов встроенных узлов, которые можно использовать вместе для создания сложных внутренних и внешних сцен. Создать новые узлы несложно, и их можно добавить во время выполнения; многие дополнительные типы узлов доступны в сообществе. Типы узлов, поставляемые с Irrlicht, включают в себя средство визуализации ландшафта и небесные купола-боксы для наружного рендеринга, разделение двоичного пространства (BSP) для внутреннего рендеринга, анимированные сетки на основе кости, тени трафаретов, рекламные щиты и системы частиц, водные поверхности и примитивы. Доступен
A изменяемый скин 2D графический пользовательский интерфейс (GUI), поддерживающий множество элементов управления и возможность для пользователей подключать свои собственные (или созданные сообществом) пользовательские виджеты во время выполнения. Внутренняя система событий Irrlicht обеспечивает события мыши, клавиатуры, джойстика и графического интерфейса пользователя без необходимости полагаться на дополнительные библиотеки.
Доступ к файловой системе является абстрагированным, что обеспечивает независимый от платформы доступ к файлам и папкам, а также прозрачный доступ к файлам в ZIP архивы. Другие функции ввода-вывода включают в себя средство чтения и записи XML, возможность делать снимки экрана, манипулировать изображениями и сетками, а затем сохранять их в нескольких различных форматах файлов.
Irrlicht обеспечивает поддержку простого обнаружения столкновений, включая выбор мышью, но пользователям рекомендуется, чтобы это не заменяло полнофункциональный физический движок.
Irrlicht был разработан, чтобы иметь возможность загружать и сохранять текущую сцену в файл XML; в сочетании с моделью лицензирования с открытым исходным кодом движка привлекла различных программистов и разработчиков к созданию редакторов мира для Irrlicht, чтобы упростить процесс создания мира. Одним из таких примеров является редактор мира irrEdit, разработанный Николаусом Гебхардтом и другими членами компании Ambiera. IrrEdit содержит генератор radiosity lightmap и интерфейс сценариев, использующий сценарии Squirrel.
Поскольку Irrlicht не поддерживает звук сам по себе, Ambiera также разработала irrKlang, несвободную частную аудиотеку с API, аналогичным Irrlicht. IrrEdit, разработанный той же группой, поддерживает использование звуков на уровнях, созданных irrEdit для использования с скомпилированными DLL с поддержкой irrKlang. Также среди творений Амбиеры - irrXML, XML-анализатор Иррлихта.
Для многих физических библиотек были написаны плагины и оболочки для Irrlicht, включая Nvidia PhysX, Bullet и Open Dynamics Engine.
Другие расширения можно найти на форумах Irrlicht и в проекте irrExt, побочном проекте Irrlicht для надстроек специального назначения.
На форумах также представлены некоторые новые технологии, такие как Отложенное затенение или Отображение теней. Многие пользователи вносят такие расширения, как Compute Shaders (OpenGL 4.3) и Tessellation Shaders (Shader Model 5.0).