stringtranslate.com

Двигатель Irrlicht

Irrlicht (произносится как [ˈɪʁlɪçt] на немецком языке) — игровой движок с открытым исходным кодом, написанный на языке C++ . Он кроссплатформенный , официально работает на Windows , macOS , Linux и Windows CE , и благодаря своей открытой природе доступны порты на другие системы, включая FreeBSD , Xbox (до версии Irrlicht 1.8.1), PlayStation Portable , [1] Symbian , [2] iPhone , [3] AmigaOS 4 , [4] Sailfish OS через оболочку Qt/QML, [5] и Google Native Client . [6]

Irrlicht известен своим небольшим размером и совместимостью как с новым, так и со старым оборудованием, простотой обучения и большим дружелюбным сообществом. [7] [ ненадежный источник? ] Существуют неофициальные привязки для многих языков, включая AutoIt , [8] C++Builder , [9] FreeBASIC , [10] GameMaker Language , [11] Java , [12] Lua , [13] .NET , [14] [15] [16] Object Pascal ( Delphi ), [17] [18] Perl , [19] Python , [20] [21] и Ruby , [22] хотя большинство из них не поддерживаются уже пять лет или более.

Разработка Irrlicht началась в 2003 году одним разработчиком, Николаусом Гебхардтом. [23] Только после выпуска Irrlicht версии 1.0 в 2006 году команда выросла до десяти человек по состоянию на 2011 год, большинство из которых были разработчиками. [24]

Irrlicht — это распространённое немецкое слово, обозначающее блуждающий огонёк .

Функции

Irrlicht поддерживает 3D-рендеринг через OpenGL , DirectX 8, 9 и внутренние программные растеризаторы. DirectX 8 не поддерживается после 1.8.1, [25] фактически прекращая поддержку Xbox. Внешние рендереры и системы управления окнами подключаются через простые интерфейсы, что приводит к созданию видеодрайвера Simple DirectMedia Layer (SDL), созданного сообществом, и поддержке устройств iPhone и Symbian . Движок поставляется с библиотекой стандартных рендереров материалов, что позволяет использовать резервные материалы, когда пользовательское оборудование не может обрабатывать расширенные методы. Новые материалы могут быть добавлены в движок во время выполнения, что позволяет пользователям писать свои собственные по мере необходимости. В дополнение к устаревшим материалам конвейера с фиксированными функциями поддерживаются программируемые пиксельные и вершинные шейдеры (1.1 до 3.0 и 4.0 с использованием GLSL), фрагментные и вершинные программы ARB, материалы HLSL , Cg и GLSL .

Попиксельное освещение в Irrlicht
Карты освещения и вершинное освещение в Irrlicht, рендеринг простой сцены подземелья

Irrlicht поддерживает множество форматов файлов. Он загружает и отображает файлы 3ds Max, модели Quake 2 MD2, объекты Wavefront .obj, карты Quake 3 .bsp, объекты Milkshape3D и файлы DirectX .x. [26] Дополнительные загрузчики форматов были написаны как внешние плагины. Освещение, камеры и 3D-объекты управляются как дерево узлов сцены , произвольных группируемых сущностей, связанных вместе в графе сцены . Эти узлы отвечают за свое собственное поведение, но также могут управляться аниматорами, друг другом или вручную пользователями.

Существует множество встроенных типов узлов, которые можно использовать вместе для создания сложных внутренних и внешних сцен. Новые узлы легко создавать, и их можно добавлять во время выполнения; многие дополнительные типы узлов доступны в сообществе. Типы узлов, упакованные с Irrlicht, включают в себя рендерер ландшафта и купола-ящики неба для внешнего рендеринга, двоичное разделение пространства (BSP) для внутреннего рендеринга, анимированные сетки на основе костей, трафаретные тени, рекламные щиты и системы частиц, водные поверхности и примитивы.

Доступен 2D графический пользовательский интерфейс (GUI) с возможностью изменения скинов, поддерживающий множество элементов управления и возможность для пользователей подключать собственные (или созданные сообществом) пользовательские виджеты во время выполнения. Внутренняя система событий Irrlicht обеспечивает события мыши, клавиатуры, джойстика и GUI без необходимости полагаться на дополнительные библиотеки. [27]

Доступ к файловой системе абстрагирован, что обеспечивает независимый от платформы доступ к файлам и папкам, а также прозрачный доступ к файлам в архивах ZIP . Другие функции ввода-вывода включают в себя считыватель и пишущий XML, возможность делать снимки экрана, манипулировать изображениями и сетками, а затем сохранять их в нескольких различных форматах файлов.

Irrlicht обеспечивает поддержку простого обнаружения столкновений, включая выбор мыши, но пользователям следует помнить, что это не предназначено для замены полнофункционального физического движка .

Расширения двигателя

Irrlicht был разработан с возможностью загрузки и сохранения текущей сцены в XML-файл; это в сочетании с моделью лицензирования движка с открытым исходным кодом привлекло различных программистов и разработчиков к созданию редакторов мира для Irrlicht, чтобы упростить процесс создания мира. Одним из таких примеров является редактор мира irrEdit , разработанный Николаусом Гебхардтом и другими членами компании Ambiera. [28] IrrEdit содержит генератор карты освещения radiosity и интерфейс сценариев с использованием скриптов Squirrel .

Поскольку Irrlicht сам по себе не поддерживает звук, Ambiera также разработала irrKlang, несвободную, проприетарную аудиобиблиотеку с API, похожим на Irrlicht. [29] Будучи разработанной той же группой, irrEdit поддерживает использование звуков в уровнях, созданных irrEdit для использования с скомпилированными DLL с поддержкой irrKlang. Также среди творений Ambiera есть irrXML, XML-парсер Irrlicht.

Для многих физических библиотек были написаны плагины и оболочки для Irrlicht, включая Nvidia PhysX , Bullet и Open Dynamics Engine .

Дополнительные расширения можно найти на форумах Irrlicht и в проекте irrExt, побочном проекте Irrlicht для специальных дополнений.

На форумах также есть несколько новых технологий, таких как Deferred shading или Shadow mapping . Многие пользователи вносят расширения, такие как Compute Shaders ( OpenGL 4.3) и Tessellation Shaders (Shader Model 5.0).

Проекты, использующие его

Смотрите также

Ссылки

  1. ^ "LTE Game Engine". Ltestudios.com. Архивировано из оригинала 13 июля 2011 г. Получено 13 ноября 2011 г.
  2. ^ "Irrlicht For S60". Sourceforge.net. 10 декабря 2008 г. Получено 13 ноября 2011 г.
  3. ^ "Анонс Irrlicht на iPhone". Irrlicht.sourceforge.net . Получено 13 ноября 2011 г. .
  4. ^ "Порт AmigaOS4 Irrlicht 1.8.4 – Irrlicht Engine - бесплатный 3D-движок с открытым исходным кодом".
  5. ^ "Сохранить игру/Sailfish-irrQml" . 14 мая 2019 г.
  6. ^ "Irrlicht on Google Native Client". Irrlicht.sourceforge.net . Получено 4 июня 2012 г. .
  7. ^ "Форум поддержки Irrlicht". Irrlicht.sourceforge.net . Получено 13 ноября 2011 г. .
  8. ^ "Au3irrlicht". Irrlicht3d.org. 7 сентября 2010 г. Архивировано из оригинала 28 марта 2013 г. Получено 13 ноября 2011 г.
  9. ^ "cppbIrrlicht". Komradstudios.altervista.org. 23 апреля 2009 г. Архивировано из оригинала 25 июля 2011 г. Получено 13 ноября 2011 г.
  10. ^ Peters, DJ (26 декабря 2021 г.). "FreeBASIC binding of Irrlicht 3D engine 1.8.6". Форумы FreeBASIC . Получено 26 марта 2023 г. .
  11. ^ "GMIrrlicht". Gmc.yoyogames.com. Архивировано из оригинала 5 ноября 2008 года . Получено 13 ноября 2011 года .
  12. ^ "Джирр: Irrlicht для Java" . Jirr.sourceforge.net . Проверено 13 ноября 2011 г.
  13. ^ "IrrLua, Lua front end для Irrlicht". Irrlua.sourceforge.net . Получено 13 ноября 2011 г. .
  14. ^ "Страница кроссплатформенного проекта Irrlicht.Net". Sourceforge.net . Получено 13 ноября 2011 г. .
  15. ^ "Irrlicht Lime". Sourceforge.net . Получено 8 апреля 2016 г. .
  16. ^ "Irrlicht.Net". GitHub.com . Получено 18 мая 2020 г. .
  17. ^ "Irrlicht 4 Delphi". Irrlicht.sourceforge.net . Получено 13 ноября 2011 г. .
  18. ^ "IrrPascal". Sourceforge.net . Получено 13 ноября 2011 г. .
  19. ^ "Irrlicht for Perl". Search.cpan.org . Получено 13 ноября 2011 г. .
  20. ^ "модуль ctypes python для Irrlicht Engine SDK" . Получено 28 июля 2020 г. .
  21. ^ "Venom: Irrlicht wrapper for Python". Sourceforge.net . Получено 13 ноября 2011 г. .
  22. ^ "IrrRuby". Irr.rubyforge.org. Архивировано из оригинала 28 мая 2004 года . Получено 13 ноября 2011 года .
  23. ^ "Интервью с основателем Irrlicht". Linuxdevcenter.com. 9 октября 2008 г. Получено 13 ноября 2011 г.
  24. ^ "Сотрудники команды разработчиков". Irrlicht.sourceforge.net. 14 февраля 2006 г. Получено 13 ноября 2011 г.
  25. ^ "Удаление DX8, CG и WinCE из Irrlicht" . Получено 13 августа 2015 г.
  26. ^ Irrlicht на Freshmeat
  27. ^ «Irrlicht 3D Engine: Учебник 5: Пользовательский интерфейс».
  28. ^ "Официальный сайт редактора сцен irrEdit". Ambiera.com . Получено 13 ноября 2011 г. .
  29. ^ "IrrKlang - аудио и звуковая библиотека для C++, C# и .NET".
  30. ^ Арена Чести на SourceForge
  31. ^ Гейслер, Кевин (13 июня 2020 г.). «Кевин Гейслер в Twitter: «@FrancyRanc @YoungHorses да, это наша последняя игра в Иррлихте»». Twitter . Получено 11 октября 2022 г. .
  32. ^ «Создайте страницу GitHub для всего мира».
  33. ^ «Irrlicht Engine — бесплатный 3D-движок с открытым исходным кодом».
  34. ^ "Irrlicht в исходном дереве irrlamb".
  35. ^ "Antarctica engine". Архивировано из оригинала 28 марта 2019 года . Получено 7 ноября 2017 года .

Внешние ссылки

Дальнейшее чтение