В топике прозвучала просьба написать какие-нибудь статьи про Ogre 3D.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
Установка
Самый простой вариант, это скачать sdk с ogre3d.org, но sdk есть только последняя стабильная версия, а все новые вкусности есть только в trunk.
Опишу в кратце сборку и установку из исходников.
Понадобится:
Исходники огра из svn.ogre3d.org/svnroot/ogre/trunk
Зависимости: качаем отсюда Microsoft Visual C++ Dependencies Package (как Вы поняли, я буду описывать работу под VC++)
Cmake (возможно вы использовали для других проектов): http://cmake.org/
DirectX SDK (если вы хотите использовать в качестве рендера DirectX 3D, для OpenGL не требуется): http://msdn.microsoft.com/directx
Распаковываем архив с зависимостями в папку, куда сделали checkout исходников (в моем случае D:/TestGameEngine/ogre_trunk/) и собираем зависимости (проект для студии лежит в \ogre_trunk\Dependencies\src\ выберете проект для своей версии студии)
Теперь можно приступить к сборке самого огра.
Запустим Cmake, в верхнем поле укажем папку с исходниками, а в нижней куда сложить файлы проекта и результаты конфигурации, после чего нажимаем configure и указываем компилятор, которым будем собирать.
Возможно лог будет пестрить ошибками о не найденных зависимостях, тогда укажем в параметра Ogre→OGRE_DEPENDENCIES_DIR папку /ogre_trunk/Dependencies, после чего Cmake пропишет пути к lib и include файлам разных библиотек. Как видите, есть некоторые зависимости, которые не обязательны, но нужны для какой либо фичи в движке. Например можете указать путь к doxygen, для генерации документации, хотя ее можно посмотреть здесь
Я немного поменял опции сборки (например мне не нужен OpenGL рендер и проекты для сборки примеров)
Если вы поменяли опции то нажимаем Configure, и если не нашлось ошибок, то нажимаем Generate.
Теперь открываем сгенерированный проект в студии, у меня это \ogre_build\OGRE.sln
Можно собрать какой-либо отдельный компонент или сразу собрать ALL_BUILD. Проект Package собирать не нужно, это сборка установщика.
Когда устанавливаем SDK пути инклудов и lib файлов прописываются в студии автоматически, при сборке из исходников это надо сделать руками.
Прописываем в настройках студии пути инклудов:
Файлы библиотек:
Так-же в последствии не забудем указать OgreMain.lib в опциях линкера у проекта.
На этом сборку огра можно считать законченной.
Теперь создадим простой проект на Ogre.
Создадим Win32 Console Application.
Добавляем в код #include «Ogre.h»
и в код функции main добавляем
Скопируем в папку с exe файлом файлы OgreMain.dll, и файл рендер системы, например RenderSystem_Direct3D9.dll
так-же создадим plugins.cfg, в котором укажем
это укажет огру, какие дополнительные плагины загрузить во время инициализации
После запуска видим простейшее приложение на огре, которое показывает пустое окно.
На всякий случай выложу исходники и скомпилированный пример:
Исходник
Скомпилированные бинарники (сама программ+OgreMain.dll+RenderSystem_Direct3D9.dll)
В следующей статье расскажу о создание простейший сцены в огре.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
Установка
Самый простой вариант, это скачать sdk с ogre3d.org, но sdk есть только последняя стабильная версия, а все новые вкусности есть только в trunk.
Опишу в кратце сборку и установку из исходников.
Понадобится:
Исходники огра из svn.ogre3d.org/svnroot/ogre/trunk
Зависимости: качаем отсюда Microsoft Visual C++ Dependencies Package (как Вы поняли, я буду описывать работу под VC++)
Cmake (возможно вы использовали для других проектов): http://cmake.org/
DirectX SDK (если вы хотите использовать в качестве рендера DirectX 3D, для OpenGL не требуется): http://msdn.microsoft.com/directx
Распаковываем архив с зависимостями в папку, куда сделали checkout исходников (в моем случае D:/TestGameEngine/ogre_trunk/) и собираем зависимости (проект для студии лежит в \ogre_trunk\Dependencies\src\ выберете проект для своей версии студии)
Теперь можно приступить к сборке самого огра.
Запустим Cmake, в верхнем поле укажем папку с исходниками, а в нижней куда сложить файлы проекта и результаты конфигурации, после чего нажимаем configure и указываем компилятор, которым будем собирать.
Возможно лог будет пестрить ошибками о не найденных зависимостях, тогда укажем в параметра Ogre→OGRE_DEPENDENCIES_DIR папку /ogre_trunk/Dependencies, после чего Cmake пропишет пути к lib и include файлам разных библиотек. Как видите, есть некоторые зависимости, которые не обязательны, но нужны для какой либо фичи в движке. Например можете указать путь к doxygen, для генерации документации, хотя ее можно посмотреть здесь
Я немного поменял опции сборки (например мне не нужен OpenGL рендер и проекты для сборки примеров)
Если вы поменяли опции то нажимаем Configure, и если не нашлось ошибок, то нажимаем Generate.
Теперь открываем сгенерированный проект в студии, у меня это \ogre_build\OGRE.sln
Можно собрать какой-либо отдельный компонент или сразу собрать ALL_BUILD. Проект Package собирать не нужно, это сборка установщика.
Когда устанавливаем SDK пути инклудов и lib файлов прописываются в студии автоматически, при сборке из исходников это надо сделать руками.
Прописываем в настройках студии пути инклудов:
\ogre_trunk\OgreMain\include
\ogre_build\include
\ogre_trunk\Dependencies\include
Файлы библиотек:
\ogre_build\lib\[Release|Debug](надо указать оба путя, но я использую только Release версию, поэтому указал только ее)
Так-же в последствии не забудем указать OgreMain.lib в опциях линкера у проекта.
На этом сборку огра можно считать законченной.
Создание простейшего приложения
Теперь создадим простой проект на Ogre.
Создадим Win32 Console Application.
Добавляем в код #include «Ogre.h»
и в код функции main добавляем
- Ogre::Root* mRoot = new Ogre::Root(); //создаем главный объект огра
- mRoot->showConfigDialog(); //Показываем диалог конфигурации огра, выбор настроек.
- Ogre::RenderWindow* mWindow = mRoot->initialise(true); //создаем окно рендеринга, параметр true говорит, о том, что нужно создать это окно, иначе его нужно создать вручную
- Ogre::SceneManager* mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC); //создаем сцену со стандартным менеджером сцены.
- while (1)
- {
- MSG msg;
- while (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- if (!mRoot->_fireFrameStarted())
- break;
- mRoot->_updateAllRenderTargets();
- if (!mRoot->_fireFrameEnded())
- break;
- if (mWindow->isClosed())
- break;
- }
- window->destroy();
- root->shutdown();
Скопируем в папку с exe файлом файлы OgreMain.dll, и файл рендер системы, например RenderSystem_Direct3D9.dll
так-же создадим plugins.cfg, в котором укажем
PluginFolder=.
Plugin=RenderSystem_Direct3D9
это укажет огру, какие дополнительные плагины загрузить во время инициализации
После запуска видим простейшее приложение на огре, которое показывает пустое окно.
На всякий случай выложу исходники и скомпилированный пример:
Исходник
Скомпилированные бинарники (сама программ+OgreMain.dll+RenderSystem_Direct3D9.dll)
В следующей статье расскажу о создание простейший сцены в огре.