OGRE
(
O
bject-Oriented
G
raphics
R
endering
E
ngine) ? объектно-ориентированный
графический движок
с
открытым исходным кодом
, написанный на
C++
. Автором OGRE является Стив Стриитинг (
англ.
Steve Streeting
).
Работу над движком Стив начал в 2001 году, после того, как его посетила идея о создании хорошо слаженного, кроссплатформенного движка с удобным дизайном и архитектурой.
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
и имеет очень активное
сообщество
.
Разработчиком движка заявлена поддержка следующих возможностей
[3]
:
- поддержка платформ
Windows
,
Linux
,
macOS
,
Android
и
iOS
;
- скриптовая система управления материалами (мультитекстурирование, мультипроходное смешивание);
- загрузка текстур в формате
PNG
,
JPEG
,
TGA
,
BMP
,
PVRTC
и
DDS
, также поддержка сжатых текстур (DXT/S3TC);
- экспортеры для основных коммерческих и свободных пакетов
3D моделирования
[4]
;
- система управления ресурсами;
- поддержка
Direct3D
,
Vulkan
,
Metal
[англ.]
,
OpenGL
(включая
OpenGL ES
) и
WebGL
(через
Emscripten
);
- поддержка
шейдеров
, написанных на
ассемблере
или языках высокого уровня:
Cg
,
HLSL
или
GLSL
;
- сложная скелетная анимация (анимация тела), анимация гибких форм, морфинг (анимация лица), анимация пути (камера, перемещение).
| Этот раздел имеет чрезмерный объём или содержит маловажные подробности
неэнциклопедичного характера
.
Если вы не согласны с этим, пожалуйста, покажите в тексте существенность излагаемого материала. В противном случае раздел может быть удалён. Подробности могут быть
на странице обсуждения
.
(14 августа 2022)
|
- Около 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
[5]
- 13 августа 2021 ? Официальный релиз Ogre 13
[5]
Начиная с 2019 года, разработку OGRE было решено вести в рамках двух отдельных проектов
[6]
. Развитие кода предыдущих версий ведется в рамках проекта Ogre (также называемого Ogre v1), который сосредоточен на обеспечении обратной совместимости с предыдущими версиями для поддержки имеющихся проектов на движке. Внедрение же новейших методов рендеринга трехмерной графики производится в проекте Ogre-Next (также называемом Ogre v2). В этой новой версии движка разработчики заявляют
[7]
:
- Новую подсистему рендеринга, способную обеспечить обработку десятков тысяч объектов в кадре;
- Новую систему управления материалами (High Level Material System) для обеспечения задаваемого пользователем
физически корректного рендеринга
;
- Встроенную поддержку
VR
.
В то же время, документация к Ogre-Next является гораздо менее проработанной, чем для оригинального Ogre. Кроме того, в новой версии движка была прекращена поддержка ряда устаревших платформ (например, систем
Android
младше
7.0
) и программных интерфейсов трехмерной графики (например,
Direct3D
9,
OpenGL
1.x и 2.x)
[8]
. Также планируется, но не реализована поддержка
OpenGL ES
и
WebGL
[8]
.
Существуют порты Ogre3D под другие языки программирования
- Irrlicht
? графический движок, использующий возможности OpenGL и DirectX, написанный на C++
- GLScene
? OpenGL-ориентированный графический движок для Delphi, Free Pascal и C++.
- OpenSceneGraph
? многоплатформенный OpenGL-ориентированный графический движок на C++
- OpenSpace3D
? свободный конструктор, для создания веб-приложений и игр без программирования на базе движка OGRE.
- PureBasic
? процедурный язык программирования, содержащий враппер движка OGRE в
стандартной библиотеке
.