Irrlicht (графический движок)
Irrlicht (Irrlicht Engine) — трёхмерный графический движок, который является бесплатным свободным программным продуктом и распространяется на условиях лицензии zlib.
Irrlicht 3D Engine | |
---|---|
Тип | Графический движок |
Автор | Nikolaus Gebhardt[d][1] |
Разработчик | Nikolaus Gebhardt et al. |
Написана на | C++ |
Операционная система | Microsoft Windows, Linux, Mac OS X, AmigaOS 4, Xbox |
Первый выпуск | 2002[1] |
Последняя версия | 1.8.5 (1 ноября 2021 года) |
Читаемые форматы файлов | Irrlicht static Mesh (UTF-8)[d], Irrlicht static mesh (UTF-16)[d], Irrlicht 3D scene[d] и Irrlicht static Mesh[d] |
Лицензия | Лицензия zlib |
Сайт | irrlicht.sourceforge.net |
Медиафайлы на Викискладе |
«Irrlicht» использует возможности OpenGL, DirectX и нескольких собственных рендереров. Пользователю предоставляются различные функциональные возможности по загрузке и управлению трёхмерными (3D) объектами (сцены, модели и т. п.), немногими спецэффектами и графическим интерфейсом пользователя. Рекомендуется для ознакомления с процессом разработки игр (Gamedev — «игростроительная индустрия»; «разработка игр») и создания несложных игр и демосцен (Irrlicht поддерживает форматы популярных игр и движков, в частности модели quake 2, quake 3, карты уровней и др.). Не требует подключения сторонних модулей для реализации высокоуровневых функций (есть простейшая физика, GUI (графический интерфейс пользователя) и т. д.). Существует три официальных дополнения для Irrlicht: IrrKlang (аудиобиблиотека), IrrXML (загрузка и обработка XML-файлов), IrrEdit (редактор сцен). Для использования расширенных функций физики существует физический движок ChronoEngine (по причине того, что в Irrlicht встроена примитивная физическая система).
Движок Irrlicht подходит для начинающих разработчиков игр благодаря следующим особенностям:
- простота в изучении и использовании (прозрачная архитектура движка)
- небольшой, но, тем не менее, вполне достаточный набор возможностей
- совместимость с такими инструментами, как 3D-редакторы, звуковые, графические и редакторы спецэффектов
- нет необходимости в компиляции и сборке движка из исходников
- бесплатность и открытость движка
- практическая применяемость движка (в отличие от инструментов вроде «Конструктор 3D игр», значительно ограничивающих свободу действий разработчика)
Одна из важных особенностей Irrlicht является его кроссплатформенность — способность работать на различных платформах. Платформонезависимая прослойка обеспечивает лёгкую портируемость (то есть перенос движка) на различные не поддерживаемые официально платформы, в частности существуют порты под Android, iOS и др.
Базовая структура
Движок содержит следующие пространства имен (они же модули):
- core — предоставляет классы общего назначения так как vectors, planes, arrays, lists и т. п.
- gui — содержит полезные классы для упрощения создания графического интерфейса пользователя GUI.
- io — содержит интерфейсы для ввода-вывода, они позволяют выполнять: чтение и запись файлов, доступ к zip архивам, xml файлам,
- scene — в этом модуле сосредоточено управление сценой: загрузка мешей (Mesh), специальные узлы сцены (так как octrees и billboards)
- video — в этом модуле содержатся классы для доступа к видеодрайверу. Весь 2d и 3d рендринг происходит здесь.
Доступные языки для использования irrlicht
- C++ — встроенная поддержка.
- .NET-языки (C#, Visual Basic .NET) — с помощью .NET враппера Irrlicht Lime
- Java — с помощью библиотеки jirr или Bindenlicht
- Python — pyIrrlicht, также осуществляет поддержку для других языков: fasm, TinyCC, FreeBASIC.
- Ruby — с помощью библиотеки IrrRuby.
- PureBasic — с помощью IrrlichtWrapper[2]
- Delphi — версия, портированная одним из энтузиастов:[3]
- GML — версия движка, для игрового конструктора GameMaker под названием GMI.
Игры, использующие движок
Примечания
- Authors
- PureArea ShowCase — Detail Ansicht
- Irrlicht Engine wiki — Delphi (недоступная ссылка). Дата обращения: 3 июня 2009. Архивировано 14 июня 2008 года.