OGRE

Материал из Википедии ? свободной энциклопедии
Перейти к навигации Перейти к поиску
OGRE (Object-Oriented Graphics Rendering Engine)
Логотип программы OGRE (Object-Oriented Graphics Rendering Engine)
Скриншот программы OGRE (Object-Oriented Graphics Rendering Engine)
Скриншот из бенчмарка ≪Fresnel Reflections and Refractions≫ (рус. Дифракция Френеля ) из пакета ≪OGRE Demos pack≫. В данном тесте демонстрируется работа движка с водой, отражениями и преломлениями в водной среде. Опции рендеринга изображения: оригинальное разрешение 1600*1200 пикселей, OpenGL-рендерер, 16-кратное полноэкранное сглаживание (FSAA), 32-битный цвет. В кадре присутствует 23653 треугольников.
Тип Графический движок
Разработчик The OGRE Team
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск февраль 2005 года
Последняя версия
Репозиторий github.com/OGRECave/ogre
Состояние Активное
Лицензия MIT License
Сайт ogre3d.org
Логотип Викисклада  Медиафайлы на Викискладе
Скриншот из бенчмарка ≪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 ( O bject-Oriented G raphics R endering E ngine) ? объектно-ориентированный графический движок с открытым исходным кодом , написанный на 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 ) и программных интерфейсов трехмерной графики (например, Direct3D 9, OpenGL 1.x и 2.x) [8] . Также планируется, но не реализована поддержка OpenGL ES и WebGL [8] .

OGRE порты [ править | править код ]

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

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

С открытым исходным кодом [ править | править код ]

Проприетарные [ править | править код ]

См. также [ править | править код ]

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

Примечания [ править | править код ]

  1. Release 14.2.5 ? 2024.
  2. 1 2 https://wiki.ogre3d.org/Getting+Started#What_file_formats_does_Ogre_support_
  3. Features · OGRE   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  4. OGRE Exporters · OGRE Wiki   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  5. 1 2 Tags · OGRECave/ogre   (англ.) . GitHub . Дата обращения: 18 сентября 2021. Архивировано 18 сентября 2021 года.
  6. Ogre Ecosystem Roundup #3 · OGRE   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  7. What version to choose? · OGRE   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  8. 1 2 Ogre 2.1 FAQ · OGRE Wiki   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  9. Ember client · Worldforge - the Free MMORPG project   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  10. ZelconGames/Facade · GitHub   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  11. kblaschke/Iris2 · GitHub   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  12. Compile · OpenDungeons Wiki   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  13. Orxonox   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  14. 1 2 3 Showcase · OGRE   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  15. sirikata/sirikata · GitHub   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  16. eventhorizon5/skyscraper · GitHub   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  17. SummoningWars/summoning-wars · GitHub   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  18. SuperRacing download · SourceForge.net   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  19. Trinity Reign download · SourceForge.net   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  20. 1 2 3 4 5 6 7 8 Projects · OGRE   (англ.) . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  21. 1 2 3 4 5 6 7 8 9 Engine · OGRE · Technologies · SteamDB . Дата обращения: 7 февраля 2023. Архивировано 6 февраля 2023 года.
  22. Snake Game On Spheres   (англ.) . Дата обращения: 3 июля 2011. Архивировано из оригинала 18 июня 2012 года.

Ссылки [ править | править код ]