Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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 . [6]

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

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

Иррлихт - распространенный немецкий термин для обозначения блуждающего огонька .

Особенности [ править ]

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

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

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

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

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

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

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

Расширения двигателя [ править ]

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

Поскольку Irrlicht не поддерживает звук сам по себе, Ambiera также разработала irrKlang, несвободную проприетарную звуковую библиотеку с API, аналогичным Irrlicht. [28] Разработанный той же группой, 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).

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

  • Амулет триколора , 2D игра
  • Bolzplatz 2006 от Xenoage Software, футбольного матча
  • Craft The World 2014 от Dekovir Entertainment, игра-песочница, сочетающая в себе механику игр Terraria и Dungeon Keeper.
  • Eve , симулятор робота, созданный группой Biological Inspired Robotics Group (BIRG) Швейцарского федерального технологического института в Лозанне.
  • Galactic Dream: Rage of War , коммерческая космическая стратегическая игра от Evolution Vault
  • Gekkeiju Online , бесплатная фэнтезийная многопользовательская ролевая игра
  • H-Craft Championship , научно-фантастическая гоночная игра с открытым исходным кодом [29]
  • Minetest , игра с открытым миром, похожая на Minecraft
  • Octodad: Dadliest Catch , комедийный симулятор отцовства
  • Schwarzerblitz , трехмерный файтинг, выпущенный в 2019 году для ПК с Windows. Он в значительной степени вдохновлен Dead or Alive и Soul Calibur.
  • Sokoban Challenge , 3D-римейк классической головоломки Sokoban для Android
  • Star Ruler ,космическая игра 4X
  • SuperTuxKart (начиная с версии 0.7), трехмерная гоночная игра на картинге; хотя, начиная с версии 0.9, STK использует чрезвычайно сильно модифицированную версию Irrlicht, включая совершенно новый рендерер на основе OpenGL 3 под названием "Antarctica" [30]
  • Build A World EDU - образовательная игра, основанная на сценариях; однако он использует свою собственную чрезвычайно модифицированную и урезанную версию Irrlicht [31]
  • Bugsnax , приключенческая игра из коллекции монстров.

См. Также [ править ]

  • ОГРЭ
  • OpenSceneGraph
  • Panda3D
  • Delta3D
  • Кристальное пространство
  • Библиотека визуализации

Ссылки [ править ]

  1. ^ "Игровой движок LTE" . 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. ^ http://irrlicht.sourceforge.net/?p=1679
  5. ^ https://github.com/savegame/sailfish-irrQml
  6. ^ "Irrlicht на 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. ^ "GMIrrlicht" . Gmc.yoyogames.com . Проверено 13 ноября 2011 года .
  11. ^ "Jirr: Irrlicht для Java" . Jirr.sourceforge.net . Проверено 13 ноября 2011 года .
  12. ^ "IrrLua, интерфейс Lua для Irrlicht" . Irrlua.sourceforge.net . Проверено 13 ноября 2011 года .
  13. ^ "Страница кроссплатформенного проекта Irrlicht.Net" . Sourceforge.net . Проверено 13 ноября 2011 года .
  14. ^ "Irrlicht Lime" . Sourceforge.net . Проверено 8 апреля 2016 года .
  15. ^ "Irrlicht.Net" . GitHub.com . Дата обращения 18 мая 2020 .
  16. ^ "Irrlicht 4 Delphi" . Irrlicht.sourceforge.net . Проверено 13 ноября 2011 года .
  17. ^ "IrrPascal" . Sourceforge.net . Проверено 13 ноября 2011 года .
  18. ^ "Irrlicht для Perl" . Search.cpan.org . Проверено 13 ноября 2011 года .
  19. ^ "ctypes модуль Python для Irrlicht Engine SDK" . Проверено 28 июля 2020 .
  20. ^ "Venom: оболочка Irrlicht для Python" . Sourceforge.net . Проверено 13 ноября 2011 года .
  21. ^ "IrrRuby" . Irr.rubyforge.org. Архивировано из оригинального 28 мая 2004 года . Проверено 13 ноября 2011 года .
  22. ^ "Интервью с основателем Irrlicht" . Linuxdevcenter.com. 9 октября 2008 . Проверено 13 ноября 2011 года .
  23. ^ «Члены команды разработчиков» . Irrlicht.sourceforge.net. 14 февраля 2006 . Проверено 13 ноября 2011 года .
  24. ^ "Удаление DX8, CG и WinCE из Irrlicht" . Проверено 13 августа 2015 года .
  25. ^ Особенности Irrlicht на Freashmeat
  26. ^ http://irrlicht.sourceforge.net/docu/example005.html
  27. ^ "Официальный сайт редактора irrEdit Scene" . Ambiera.com . Проверено 13 ноября 2011 года .
  28. ^ http://www.ambiera.com/irrklang/
  29. ^ http://irrlicht.sourceforge.net/2015/02/sci-fi-racer-coded-with-irrlicht-got-open-sourced/
  30. ^ "Двигатель Антарктиды" .
  31. ^ «Создать мировую страницу на GitHub» .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Блог автора
  • Irrlicht вики на irrlicht3d.org

Дальнейшее чтение [ править ]

  • Irrlicht обзор на heise.de (платный)
  • Использование Irrlicht с Java в Bright Hub
  • Практическое руководство Irrlicht в Linux Journal (апрель 2009 г.)
  • Форк GPGPU, ориентированный только на OpenGL, на GitHub