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

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая ZanyGamer (обсуждение | вклад) в 17:54, 3 января 2013. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Irrlicht 3D Engine
Логотип программы Irrlicht 3D Engine
Скриншот программы Irrlicht 3D Engine
Скриншот из демонстрационного бенчмарка графического движка Irrlicht Engine, на котором представлена реализация технологии «Parallax mapping» для текстурирования стен, пола и потолка комнаты. В динамике тени между кирпичами изменяются динамически в зависимости от положения источника света. Освещение попиксельное.
Тип Графический движок
Разработчик Nikolaus Gebhardt et al.
Написана на C++
Операционные системы Microsoft Windows, Linux, Mac OS X
Первый выпуск 2002[1]
Последняя версия 1.8.0 (8 ноября 2012 года)
Репозиторий sourceforge.net/p/irrlic…
Лицензия Лицензия zlib
Сайт Irrlicht 3D Homepage
Логотип Викисклада Медиафайлы на Викискладе
Скриншот из демонстрационного бенчмарка графического движка Irrlicht Engine, на котором представлена реализация технологии «Parallax mapping» для текстурирования стен, пола и потолка комнаты. В динамике тени между кирпичами изменяются динамически в зависимости от положения источника света. Освещение попиксельное.
Скриншот из аналогичного бенчмарка, демонстрирующий аналогичные технологические возможности.

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

«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++ — встроенная поддержка.
  • .NET-языки (C#, Visual Basic .NET) - с помощью .NET враппера Irrlicht Lime
  • Java — с помощью библиотеки jirr или Bindenlicht
  • Python — pyirrlicht (http://pir.sourceforge.net), также осуществляет поддержку для других языков и компиляторов (FASM, TinyCC, FreeBASIC)
  • Ruby — с помощью библиотеки IrrRuby.
  • PureBasic — с помощью IrrlichtWrapper[2]
  • Delphi — версия, портированная одним из энтузиастов:[3]

Разработчику

Irrlicht лучше всего подходит для начинающих разработчиков игр по нескольким причинам:

  • простота в изучении и использовании (прозрачная архитектура движка)
  • небольшой, но, тем не менее, вполне достаточный набор возможностей
  • совместимость с такими инструментами, как 3D, звуковые, графические и редакторы спецэффектов
  • нет необходимости в компиляции и сборке движка из исходников
  • бесплатность и открытость движка (любая поддержка — бесплатна и квалифицирована)
  • практическая применяемость движка (в отличие от инструментов вроде «Конструктор 3D игр», значительно ограничивающих свободу действий разработчика)

Примечания

Ссылки

Шаблон:Game-engine Шаблон:Свободные компьютерные игры