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 Engine, на котором представлена реализация технологии «Parallax mapping» для текстурирования стен, пола и потолка комнаты. В динамике тени между кирпичами изменяются динамически в зависимости от положения источника света. Освещение попиксельное.
Скриншот из аналогичного бенчмарка, демонстрирующий аналогичные технологические возможности.

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

Игры, использующие движок

  • Minetest — игра-песочница с открытым исходным кодом, аналог популярной игры Minecraft. Имеет большое число модов и расширений.

Примечания

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

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.