Irrlicht (графический движок)

У этого термина существуют и другие значения, см. Irrlicht.
Irrlicht 3D Engine
Логотип программы Irrlicht 3D Engine
Скриншот программы Irrlicht 3D Engine
Скриншот из демонстрационного бенчмарка графического движка Irrlicht Engine, на котором представлена реализация технологии «Parallax mapping» для текстурирования стен, пола и потолка комнаты. В динамике тени между кирпичами изменяются динамически в зависимости от положения источника света. Освещение попиксельное.
Тип Графический движок
Разработчик Nikolaus Gebhardt et al.
Написана на C++
Операционные системы Microsoft Windows, Linux, macOS, AmigaOS 4, Xbox
Первый выпуск 2002[1]
Последняя версия 1.8.5 (1 ноября 2021 года)
Репозиторий sourceforge.net/p/irrlic…
Читаемые форматы файлов:
Irrlicht static Mesh (UTF-8)[вд], Irrlicht static mesh (UTF-16)[вд], Irrlicht 3D scene[вд] и Irrlicht static Mesh[вд]
Лицензия Лицензия zlib
Сайт irrlicht.sourceforge.net
Логотип Викисклада Медиафайлы на Викискладе
Скриншот из аналогичного бенчмарка, демонстрирующий аналогичные технологические возможности.

Irrlicht (Irrlicht Engine) — трёхмерный графический движок, который является бесплатным свободным программным продуктом и распространяется на условиях лицензии zlib.

«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.

Примечания

  1. Authors
  2. PureArea ShowCase — Detail Ansicht  (неопр.). Дата обращения: 8 ноября 2007. Архивировано 17 августа 2014 года.
  3. Irrlicht Engine wiki — Delphi  (неопр.). Дата обращения: 3 июня 2009. Архивировано из оригинала 14 июня 2008 года.

Ссылки

  • Официальный сайт
  • Русскоязычное сообщество Irrlicht, статьи примеры программ на сайте GameDev.ru
  • IrrlichtEngine 1.8.4 on AmigaOS4
Перейти к шаблону «Игровые движки»
Графические
Свободные
GLScene
Horde3D[англ.]
Irrlicht
OGRE
OpenSceneGraph
Проприетарные
Outerra[англ.]
Физические
Свободные
Box2D
Bullet
Chipmunk[англ.]
Newton
ODE
Tokamak
Проприетарные
DMM
Havok Physics
PhysX
Общего назначения
2D
Свободные
Allegro
ClanLib
Cocos2d
Construct
Felgo[англ.]
idTech 1
Проприетарные
Construct 2
GameMaker: Studio
Retro Engine
Stencyl
Vicious Engine
3D
Свободные
Away3D
BGE
Bork3D[англ.]
Cafu[англ.]
Crystal Space
Defold
Delta3D
dim3[англ.]
Genesis3D[англ.]
Godot
id Tech 2, 3, 4
jMonkeyEngine
Lumberyard
Moai
Nebula Device
Panda3D
Pygame
QFusion
Проприетарные
Chrome Engine
CryEngine
Dagor Engine
Freescape
Gamebryo
GoldSrc
Havok Vision
id Tech 5, 6, 7
LithTech
Marmalade
RAGE
RenderWare
Source
Source 2
Unigine
Unity
Unreal Engine (список продуктов)
Специализированные
2D
Свободные
LÖVE
Ren'Py
Stratagus
VASSAL
Wintermute
Проприетарные
M.U.G.E.N
NScripter
RPG Maker
3D
Свободные
DarkPlaces
OpenMW
OpenSim
Spring Engine
WorldForge[англ.]
Проприетарные
HeroEngine[англ.]
Другие