OGRE
OGRE (Object-Oriented Graphics Rendering Engine) | |||
---|---|---|---|
Тип | Графический движок | ||
Разработчик | The OGRE Team | ||
Написана на | C++ | ||
Операционная система | Кроссплатформенное программное обеспечение | ||
Первый выпуск | февраль 2005 года | ||
Последняя версия |
|
||
Репозиторий | github /OGRECave/ogre | ||
| |||
| |||
Состояние | Активное | ||
Лицензия | MIT License | ||
Сайт | ogre3d.org | ||
Медиафайлы на Викискладе |
OGRE(Object-OrientedGraphicsRenderingEngine) —графическийигровой движоксоткрытым исходным кодом,написанный на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и имеет очень активноесообщество.
Возможности
[править|править код]Разработчиком движка заявлена поддержка следующих возможностей[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;
- сложная скелетная анимация (анимация тела), анимация гибких форм, морфинг (анимация лица), анимация пути (камера, перемещение).
История версий
[править|править код]Этот раздел имеет чрезмерный объём или содержит маловажные подробностинеэнциклопедичного характера. |
- Около 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]
Ogre-Next
[править|править код]Начиная с 2019 года, разработку OGRE было решено вести в рамках двух отдельных проектов[6].Развитие кода предыдущих версий ведется в рамках проекта Ogre (также называемого Ogre v1), который сосредоточен на обеспечении обратной совместимости с предыдущими версиями для поддержки имеющихся проектов на движке. Внедрение же новейших методов рендеринга трехмерной графики производится в проекте Ogre-Next (также называемом Ogre v2). В этой новой версии движка разработчики заявляют[7]:
- Новую подсистему рендеринга, способную обеспечить обработку десятков тысяч объектов в кадре;
- Новую систему управления материалами (High Level Material System) для обеспечения задаваемого пользователемфизически корректного рендеринга;
- Встроенную поддержкуVR.
В то же время, документация к Ogre-Next является гораздо менее проработанной, чем для оригинального Ogre. Кроме того, в новой версии движка была прекращена поддержка ряда устаревших платформ (например, системAndroidмладше7.0) и программных интерфейсов трехмерной графики (например,Direct3D9,OpenGL1.x и 2.x)[8].Также планируется, но не реализована поддержкаOpenGL ESиWebGL[8].
OGRE порты
[править|править код]Существуют порты Ogre3D под другие языки программирования
- Python-Ogre дляPython
- Ogre.pm дляPerl
- Ogre.rb дляRuby
- Ogre4j дляJava
- OgreDotNetиMOGREдля.NET.
- Ogre.pb дляPureBasic
- Gmogre3d дляGame Maker
- Axiom3d дляC#
Проекты использующие движок
[править|править код]В разделене хватаетссылок на источники(см.рекомендации по поиску). |
- Ankh[англ.][20],Ankh: Heart of Osiris[англ.]иAnkh: Battle of the Gods[англ.][21]
- Black Sails: The Ghost Ship[англ.][21]
- Earth Eternal[англ.]
- Garshasp: The Monster Slayer[англ.][20]и Garshasp: Temple of the Dragon[21]
- Jack Keane[англ.][20]
- Kenshi[21]
- MotorM4X: Offroad Extreme[21]
- Next Life[англ.]
- Pacific Storm[англ.][21]
- Rebel Galaxy[англ.]иRebel Galaxy Outlaw[англ.][21]
- Savage: The Battle for Newerth[англ.]иSavage 2: A Tortured Soul
- Snakeworlds[22]
- So Blonde[англ.]иSo Blonde: Back to the Island[англ.]
- The Book of Unwritten Tales[20]
- Torchlight[20]иTorchlight II[14]
- Venetica[20]
- Void Destroyer[англ.][21]
- Warside[21]
- Zero gear[20]
- Zombie Driver[англ.][20]
См. также
[править|править код]- Irrlicht— графический движок, использующий возможности OpenGL и DirectX, написанный на C++
- GLScene— OpenGL-ориентированный графический движок для Delphi, Free Pascal и C++.
- OpenSceneGraph— многоплатформенный OpenGL-ориентированный графический движок на C++
- OpenSpace3D— свободный конструктор, для создания веб-приложений и игр без программирования на базе движка OGRE.
- PureBasic— процедурный язык программирования, содержащий враппер движка OGRE встандартной библиотеке.
Примечания
[править|править код]- ↑Release 14.3.1— 2024.
- ↑12https://wiki.ogre3d.org/Getting+Started#What_file_formats_does_Ogre_support_
- ↑Features · OGRE(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑OGRE Exporters · OGRE Wiki(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑12Tags · OGRECave/ogre(англ.).GitHub.Дата обращения: 18 сентября 2021.Архивировано18 сентября 2021 года.
- ↑Ogre Ecosystem Roundup #3 · OGRE(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑What version to choose? · OGRE(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑12Ogre 2.1 FAQ · OGRE Wiki(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑Ember client · Worldforge - the Free MMORPG project(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑ZelconGames/Facade · GitHub(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑kblaschke/Iris2 · GitHub(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑Compile · OpenDungeons Wiki(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑Orxonox(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑123Showcase · OGRE(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑sirikata/sirikata · GitHub(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑eventhorizon5/skyscraper · GitHub(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑SummoningWars/summoning-wars · GitHub(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑SuperRacing download · SourceForge.net(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑Trinity Reign download · SourceForge.net(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑12345678Projects · OGRE(англ.).Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑123456789Engine · OGRE · Technologies · SteamDB .Дата обращения: 7 февраля 2023.Архивировано6 февраля 2023 года.
- ↑Snake Game On Spheres(англ.).Дата обращения: 3 июля 2011. Архивировано изоригинала18 июня 2012 года.
Ссылки
[править|править код]- Официальный сайт(англ.)
- Неофициальный русскоязычный сайт(рус.)
- Блог Стива Стритинга, основателя OGRE 3D(англ.)
- Обзор и описание движка его пользователямина сайтеDevMaster.net(англ.)
- Emma3D, an internet-based media framework using OGRE(англ.)
- Блог об Ogre(рус.)
- Использование Ogre в веб-разработке(рус.)
- Цикл статей посвященных OGRE3D(рус.)
- Список игр, использующих OGRE, на сайте SteamDB