OGRE

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Ogre»)
OGRE (Object-Oriented Graphics Rendering Engine)
Логотип программы OGRE (Object-Oriented Graphics Rendering Engine)
Тип Графический движок
Разработчик The OGRE Team
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск февраль 2005 года
Последняя версия 13.4.4[1] (7 августа 2022)
Состояние Активное
Лицензия MIT License
Сайт ogre3d.org
Скриншот из бенчмарка «Fresnel Reflections and Refractions» (рус. Дифракция Френеля) из пакета «OGRE Demos pack». В данном тесте демонстрируется работа движка с водой, отражениями и преломлениями в водной среде. Опции рендеринга изображения: оригинальное разрешение 1600*1200 пикселей, OpenGL-рендерер, 16-кратное полноэкранное сглаживание (FSAA), 32-битный цвет. В кадре присутствует 23653 треугольников.
Скриншот из бенчмарка «Compositor Effects» из пакета «OGRE Demos pack». В левой верхней части скриншота расположено меню опций, в котором пользователи могут применять различные маски постэффектов к целому изображению. Постэффекты могут применяться как по одному, так и несколько вместе. Опции рендеринга изображения: оригинальное разрешение 1600*1200 пикселей, OpenGL-рендерер, 16-кратное полноэкранное сглаживание (FSAA), 32-битный цвет. В кадре присутствует 5230 треугольников.
Скриншот из бенчмарка «Ocean Shader Effects» (рус. Шейдерные эффекты для визуализации поверхности океана) из пакета «OGRE Demos pack». В этом тесте с помощью нескольких меню, расположенных по краям экрана, пользователь может вручную настраивать работу разных шейдеров, системы освещения и некоторые другие параметры. Опции рендеринга изображения: оригинальное разрешение 1600*1200 пикселей, Direct3D9-рендерер, 4-уровневое полноэкранное сглаживание (FSAA), 32-битный цвет. В кадре присутствует 5848 треугольников.

OGRE (Object-Oriented Graphics Rendering Engine) — объектно-ориентированный графический движок с открытым исходным кодом, написанный на C++. Автором OGRE является Стив Стриитинг (англ. Steve Streeting).

Работу над движком Стив начал в 2001 году, после того, как его посетила идея о создании хорошо слаженного, кроссплатформенного движка с удобным дизайном и архитектурой.

Политика OGRE

OGRE сам по себе не является игровым движком и по заявлению автора никогда таковым не будет. OGRE был, есть и будет графическим движком для рендеринга трехмерной графики. Большую популярность движок получил за счет своей гибкости, что позволяет «скрещивать» его со многими другими библиотеками (физика — ODE, Newton, PhysX, Bullet; звук, сеть, графический интерфейс и т. д.).

Причина, по которой OGRE не может стать полноценным игровым движком, описывается автором приблизительно так: Не все, кому может быть необходим 3D-движок, будут использовать его для создания игр, поэтому, вы можете использовать OGRE для создания игр, симуляторов, бизнес-приложений и т. д. В OGRE нет встроенной поддержки сети, звука и многих других функций. Но, с помощью усилий многих профессионалов, появились библиотеки, портированные под OGRE. Например, для реализации физики в приложениях, использующих данный движок, портированы такие библиотеки, как PhysX SDK (движок) (NxOgre), Newton Game Dynamics (OgreNewt), Bullet Physics Library (OgreBullet), Open Dynamics Engine (OgreODE).

Для реализации графического интерфейса пользователя (англ. GUI - Graphic User Interface) могут применяться как стандартные (недостаточно хорошо реализованные, и, по словам разработчиков, в будущем, возможно, будут исключены) функции графического интерфейса OGRE, так и импортироваться сторонние библиотеки: OpenGUI, MyGUI, CEGUI.

OGRE является свободным программным обеспечением, распространяемым под лицензиями LGPL/MIT и имеет очень активное сообщество.

Возможности

  • поддержка платформ Windows, Linux и macOS;
  • скриптовая система управления материалами (мультитекстурирование, мультипроходное смешивание);
  • загрузка текстур в формате PNG, JPEG, TGA, BMP или DDS, также поддержка сжатых текстур (DXT/S3TC);
  • экспортеры для основных коммерческих и свободных пакетов 3D моделирования;
  • система управления ресурсами;
  • поддержка Direct3D, OpenGL, Vulkan;
  • поддержка шейдеров, написанных на ассемблере или языках высокого уровня: Cg, DirectX 9, HLSL или GLSL;
  • сложная скелетная анимация (анимация тела), анимация гибких форм, морфинг (анимация лица), анимация пути (камера, перемещение).

История версий

  • Около 1999 — Синбад осознает, что его проект 'DIMClass', предназначенный для упрощения объектно-ориентированного взаимодействия с Direct3D, стал настолько абстрагированным, что может больше не базироваться на Direct3D. Начинается планирование более амбициозной платформо- и API-независимой библиотеки.
  • 25 февраля 2000г — На Sourceforge зарегистрирован проект OGRE.
  • Февраль 2005г — Выпущена версия Ogre v1.0.0 "Azathoth" Final - переработана система ресурсов, аппаратные пиксельные буферы, HDR, CEGui, XSI exporter
  • Март 2005г — Ogre становится проектом месяца на Sourceforge
  • 4 ноября 2005г — Ankh становится первой коммерческой игрой, выпущенной с использованием Ogre
  • 7 мая 2006г — Официальный релиз Ogre 1.2 "Dagon"
  • 25 марта 2007г — Официальный релиз Ogre 1.4 "Eihort"
  • 28 августа 2008г — Официальный релиз Ogre 1.6 "Shoggoth" (текущая стабильная версия 1.6.5)
  • 28 февраля 2010г — Официальный релиз Ogre 1.7 "Cthugha" (текущая стабильная версия 1.7.4)
  • 28 мая 2012г — Официальный релиз Ogre 1.8 "Byatis"
  • 24 ноября 2013г — Официальный релиз Ogre 1.9 "Ghadamon"
  • 31 декабря 2017 — Официальный релиз Ogre 1.10
  • 20 декабря 2018 — Официальный релиз Ogre 1.11
  • 30 апреля 2019 — Официальный релиз Ogre 1.12[2]
  • 13 августа 2021 — Официальный релиз Ogre 13[2]

OGRE порты

Существуют порты Ogre3D под другие языки программирования

Проекты использующие движок

С открытым исходным кодом

Проприетарные

См. также

  • Axiom Engine — порт OGRE на C#
  • Irrlicht — графический движок, использующий возможности OpenGL и DirectX, написанный на C++
  • GLScene — OpenGL-ориентированный графический движок для Delphi, Free Pascal и С++.
  • OpenSceneGraph — многоплатформенный OpenGL-ориентированный графический движок на C++
  • OpenSpace3D — свободный конструктор, для создания веб-приложений и игр без программирования на базе движка OGRE.
  • PureBasic — процедурный язык программирования, содержащий враппер движка OGRE в стандартной библиотеке.

Примечания

  1. v13.4.4. Дата обращения: 15 августа 2022. Архивировано 15 августа 2022 года.
  2. 2,0 2,1 Tags · OGRECave/ogre (англ.). GitHub. Дата обращения: 18 сентября 2021. Архивировано 18 сентября 2021 года.
  3. Snake Game On Spheres (недоступная ссылка). Дата обращения: 3 июля 2011. Архивировано 18 июня 2012 года.
  4. Garshasp. Дата обращения: 15 мая 2022. Архивировано 6 февраля 2022 года.
  5. Zombie Driver
  6. Warside. Дата обращения: 15 мая 2022. Архивировано 2 апреля 2022 года.
  7. Rebel Galaxy. Дата обращения: 15 мая 2022. Архивировано 9 мая 2022 года.

Ссылки