Irrlicht (Irrlicht Engine) — трёхмерный графический движок, который является
бесплатным.
«Irrlicht» использует возможности OpenGL, DirectX
и нескольких собственных рендереров.
Пользователю предоставляются различные функциональные возможности по
загрузке и управлению трёхмерными (3D) объектами (сцены, модели
и т. п.), немногими спецэффектами и графическим интерфейсом
пользователя. Рекомендуется для ознакомления с процессом разработки игр
(Gamedev — «игростроительная индустрия»; «разработка игр») и создания
несложных игр и демосцен (Irrlicht поддерживает форматы популярных игр и
движков, в частности модели quake 2, quake 3, карты уровней и др.). Не
требует подключения сторонних модулей для реализации высокоуровневых
функций (есть простейшая физика, GUI (графический интерфейс
пользователя) и т.д.). Существует три официальных дополнения для
Irrlicht: IrrKlang (аудиобиблиотека), IrrXML (загрузка и обработка
XML-файлов), IrrEdit (редактор сцен). Для использования расширенных
функций физики, существует физический движок ChronoEngine (по причине
того, что в Irrlicht встроена примитивная физическая система).
Одна из важных особенностей Irrlicht его кроссплатформенность
- т.е. способность работать на различных платформах.
Платформонезависимая прослойка обеспечивает лёгкую портируемость (т.е.
перенос движка) на различные не поддерживаемые официально платформы, в
частности существуют порты под android, iPhone и пр.
Базовая
структура
Движок содержит следующие пространства имен (они же модули):
- core — предоставляет классы общего назначения так как
vectors, planes, arrays, lists и т. п.
- gui — содержит полезные классы для упрощения создания
графического интерфейса пользователя GUI.
- io — содержит интерфейсы для ввода/вывода, они позволяют
выполнять: чтение и запись файлов, доступ к zip архивам, xml файлам,
- scene — в этом модуле сосредоточено управление сценой:
загрузка мешей (Mesh), специальные узлы сцены (так как octrees и
billboards)
- video — в этом модуле содержатся классы для доступа к
видеодрайверу. Весь 2d и 3d рендринг происходит здесь.
Доступные
языки для использования irrlicht
- C++ —
встроенная поддержка.
- Java — с
помощью библиотеки jirr или Bindenlicht
- Python —
с помощью библиотеки Pyrr (по отзывам других людей — проект ещё
недоработан и развивается крайне медленно)
- Ruby — с
помощью библиотеки IrrRuby.
- NET Framework языки (C#, Visual Basic .NET)
- PureBasic —
с помощью IrrlichtWrapper
- Delphi — версия,
портированная одним из энтузиастов:
Разработчику
Irrlicht лучше всего подходит для начинающих разработчиков игр
по нескольким причинам:
- простота в изучении и использовании (прозрачная архитектура движка)
- небольшой, но, тем не менее, вполне достаточный набор возможностей
- совместимость с такими инструментами, как 3D, звуковые, графические и
редакторы спецэффектов
- нет необходимости в компиляции и сборке движка из исходников
- бесплатность и открытость движка (любая поддержка — бесплатна и
квалифицирована)
- практическая применяемость движка (в отличие от инструментов вроде
«Конструктор 3D — игр», значительно ограничивающих свободу действий
разработчика)
Скриншоты
|