OGRE - Open Graphical Rendering Engine.

Содержание
" rel="nofollow">1. История развития
" rel="nofollow">2. Решаемые задачи
" rel="nofollow">3. Возможности
" rel="nofollow">4. Архитектура

1. История развития

[img_assist|nid=372|title=|desc=|link=popup|align=right|width=250|height=100]В 1999 году Steve Streeting (a.k.a. sinbad) написал проект под названием "DIMClass" который был надстройкой над DirectX и предоставлял методы для более быстрой разработки приложений с использованием DirectX. С развитием проекта интерфейсы библиотеки становились настолько абстрактными, что на базе них можно было построить работу не только с DirectX. С этого момента Стив задумался над проектом библиотеки, которая предоставляла бы API и была независимой от платформы.
  • 25 февраля 2000 года на sourceforge.net был зарегистрирован проект под название OGRE.
  • 5 февраля 2005 года вышла первая версия движка OGRE v1.0.0 RC1 [Azathoth]- Major Release. Первая версия движка содержит в себе:
    • resource system overhaul
    • hardware pixel buffers
    • HDR
    • CEGui
    • XSI exporter
  • В марте 2005 года проект побеждает в номинации "Проект месяца" (Project of the month) на sourceforge
  • 4 ноября 2005 года появляется первая коммерческая игра под названием Anhk использующая в качестве графического движка Ogre
  • 7 мая 2006 года выходит очередная версия движка Ogre 1.2 "Dagon" в котором исправлено большое число ошибок и добавлены новые возможности, частично решены проблемы компиляции и разработки в CodeBlocks. Полный список изменений.
  • 25 марта 2007 года очередная версия - Ogre 1.4 "Eihort" в которую добавлены следующие вещи исправлено большое количество ошибок:
    • поддержка SSE/SSE2/SIMD, что увеличило производительность
    • добавлены новые возможности при работе с шейдерами:
      • система параметров переписана для поддержки GLSL массивов
      • препроцессорные объявления в HLSL/GLSL
      • поддержка не квадратных матриц в GLSL 1.2 (GL 2.1)
      • и многое другое (Полный список изменений)

В настоящий момент официально объявлена версия Ogre 1.4.6 "Eihort" которую можно скачать здесь

Все изменения в версиях начиная с 1.0.0 и можно посмотреть здесь

Из разговоров со Стивом установлено, что очередную версию движка Ogre 1.6.0 "Shoggoth" можно ожидать не раньше марта месяца 2008 года, основные доработки которые будут внесены в этой версии это:
  • поддержка 4D координат для текстур
  • возможность загружать изображения без указания их формата (раньше использовалось расширение файла, теперь в нет необходимости указывать его, что позволяет загружать любые изображения из потока не заня ничего о их формате)
  • добавлен новый тип сцены 'Portal Connected Zone' в котором множество порталов соединены переходами с возможностью перемещения по ним
  • изменения в системе слушателей кадров (FrameListeners), что даст прирост в производительности

Также уже можно посмотреть планы на версию Ogre v2.0 aka 'Tindalos'


У движка одно из самых больших и развивающихся комьюнити, которое всегда поможет решить проблему. Вот основные ссылки на сайты с полезной информацией о движке:
  • Официальный сайт на котором представлена последняя информация о движке, новости о новых версиях и изменениях, ссылки на форум, вики, также можно найти информацию и ссылки для тех кто хочет работать со свежей версией с CVS
  • Форум в котором присутствуют следующие разделы:
    • General Discussion в этой ветке обсуждается все что связано с Ogre и не попадает в другие разделы
    • Help здесь можно задать любой вопрос связанный с компиляцией движка и его использованием
    • если вам необходима какая-то новая возможность в движке, то вы можете написать об этом в разделе Feature Requests
    • идеи о том как использовать Ogre в играх и приложениях находятся в ветке Using OGRE in practice
    • Artists & Content Creators это ветка для художников, аниматоров, моделеров в которой происходит обсуждение процесса создания анимации, моделей для Ogre
    • Back to Basics здесь вы можете задавать любые вопросы по основам программирования не связаные с Ogre
    • Showcase площадка для демонстрации видео, скриншотов из проектов сделанных с использованием Ogre
    • Events & Meetings раздел с информацией о событиях связанных с Ogre и встречах
    • Google Summer Of Code ветка для разработчиков посвященная собственно Google Summer Of Code
    • Developer talk здесь разработчики производят обсуждения связанные с разработкой Ogre

2. Решаемые задачи

Ogre ориентированый на работу со сценами, расширяемый 3d движок написаная на с++. Движок спроектирован таким образом, чтобы сделать более простым и понятным создание приложений использующие 3D ускорители. Библиотека абстрагируется от всех деталей использования нижележащих подсистем, таких как OpenGL, DirectX и предоставляет для них общий интерфейс RenderingSystem.

На вопрос который задают многие: "Является ли Ogre игровым движком?" ответ - нет.Он изначально проектировался и разрабатывался лишь как графический движок, а для создания игр вам понадобится еще и физика, звук, сеть и т.д. Почему это так Стив дает следующие объяснения:
  • разрабатывается большое число приложений использующих 3D графику для отображения информации, при этом не используя звук, сеть, ... Поэтому если человеку нужна лишь 3d графика, он берет библиотеку для работы именно с графикой, а не полноценный игровой движок с ненужным ему звуком и многим другим. Таким образом вы можете использовать Ogre в играх, симуляторах, бизнес приложениях, ...
  • что касается игровой индустрии, то приведен простой пример: "к примеру MMORPG использует совершенно другой тип сетевой библиотеки в отличие от FPS, и симулятор полетов использует другую физическую библиотеку в отличие от игр со сражениями. Если бы в Ogre были включены все библиотеки для работы с физикой, графикой, звуком, сетью и т.д., то они были бы связаны между собой. В отличие от такого подхода Ogre предоставляет дружественное API и позволяет легко использовать его совместно с другими библиотеками тем самым позволяя вам самим выбирать те библиотеки, которые вам нужны. Это может быть не очень удобно для людей делающих обычные FPS игры, но число фреймворков использующих Ogre постоянно растет, которые предоставляют целый набор библиотек связаных уже в единый игровой движок"

3. Возможности

Чтобы понять возможности Ogre достаточно посмотреть галерею скриншотов различных проектов использующих его.

4. Архитектура

Последняя правка: пт, 14/03/2008 - 14:53
Submitted by Denis on

GameDev.by