Gentoo и OGRE 3D [SOLVED]

Установил Ogre 1.6.5, а сейчас уже 1.7.2.

То, что я искал:
UPD:

Установка Ogre

Есть два пути установки (условно):

  1. Из официального portage: dev-games/ogre-1.6.5 или из оверлея gamerlay: dev-games/ogre-1.7.1;
  2. Из исходных кодов: OGRE 1.7.2 Source for Linux.

Установку буду описывать для каждого пути персонально:

  • Установить из официального portage: dev-games/ogre-1.6.5:

Включаем необходимые флаги и устанавливаем пакет dev-games/ogre:

echo "dev-games/ogre boost boost-threads cg doc examples freeimage ois zip" >> /etc/portage/package.use
emege -va dev-games/ogre

  • Установить из оверлея gamerlay: dev-games/ogre-1.7.1:

Включаем необходимые флаги, устанавливаем пакет app-portage/layman и добавляем в /etc/make.conf строку инициализации конфигурации layman (единожды): source /var/lib/layman/make.conf:

echo "app-portage/layman git mercurial subversion" >> /etc/portage/package.use
emerge -va layman
echo "source /var/lib/layman/make.conf" >> /etc/make.conf

Подключаем новый оверлей:

layman -a gamerlay

Включаем необходимые флаги и устанавливаем пакет dev-games/ogre:

echo "dev-games/ogre boost boost-threads cg doc examples freeimage ois zip" >> /etc/portage/package.use
emege -va dev-games/ogre

  • Установить из исходных кодов OGRE 1.7.2 Source for Linux:

Здесь необходимо пояснение. Это очень важный момент - отступление от философии Gentoo Linux и установка из исходных кодов с помощью команд make и make install, это называется не-gentoo-way. Устанавливая пакеты подобным образом вы действительно нарушаете принцип работы системы, но это не должно препятствовать вашему неотъемлемому праву свободы действий. Такого же мнения придерживаются греческие разработчики утилиты app-admin/paco из оверлея foo-overlay, благодаря ей установленные пакеты через команду make install записываются и их удаление просто и безопасно:

Включаем необходимые флаги, устанавливаем пакет app-portage/layman и добавляем в /etc/make.conf строку инициализации конфигурации layman (единожды): source /var/lib/layman/make.conf:

echo "app-portage/layman git mercurial subversion" >> /etc/portage/package.use
emerge -va layman
echo "source /var/lib/layman/make.conf" >> /etc/make.conf

Подключаем новый оверлей:
layman -a foo-overlay

Включаем необходимые флаги и устанавливаем пакет app-admin/paco:
echo "app-admin/paco gtk tools" >> /etc/portage/package.use
emerge -va app-admin/paco

Скачиваем и распаковываем OGRE 1.7.2 Source for Linux / OSX с официального сайта. Дальше необходимо создать директорию build в распакованном архиве ogre_src_v1-7-2 и выполнить команды: cmake .., make -j2 и make install:

tar xjf ogre_src_v1-7-2.tar.bz2
cd ogre_src_v1-7-2
mkdir build
cd build
cmake ..
make -j2

Перед финальным исполнением команды make install, необходимо воспользоваться утилитой app-admin/paco:

sudo paco -lp foo make install

Если интересно куда были установлены все файлы - утилита поддерживает графический интерфейс gpaco, а так же в папке ~/ogre_src_v1-7-2/build есть файл install_manifest.txt, в котором прописаны все пути установки.

На этом установку Ogre 3D любым из путей можно считать завершенной.

Установка Cmake и Codeblocks

Дальше необходимо установить кроссплатформенную систему автоматизации сборки программного обеспечения из исходных кодов - dev-util/cmake и кроссплатформенную среду разработки - dev-util/codeblocks:

echo "dev-util/cmake ncurses qt4" >> /etc/portage/package.use
emerge -va dev-util/cmake
echo "dev-util/codeblocks static-libs" >> /etc/portage/package.use
emerge -va dev-util/codeblocks

Запуск первого проекта

Теперь можно приступать к запуску первого проекта. Необходимо создать директорию ogreapp и вложить в директорию файлы (dist, BaseApplication.h, BaseApplication.cpp, TutorialApplication.h, TutorialApplication.cpp, CMakeLists.txt):

  1. Tutorial Framework - (Linux Line-endings);
  2. dist (Linux);
  3. CMakeLists

Запустить cmake и выбрать два пути, один для исходного кода из папки ogreapp, а другой для будущих бинарных файлов в папке (например ogreapp-test). Конфигурируем как Codeblocks - Unix Makefiles и генерируем файлы. Все, cmake можно закрывать.

На выходе в папке ogreapp-test много файлов, для запуска нужен OgreApp.cbp, его и нужно запустить с помощью codeblocks. Codeblocks предложит выбрать тип компилятора GNU GCC Compiler.

В codeblocks необходимо скомпилировать проект: выбрать build target: install и нажать Build, далее выбрать build target: OgreApp и нажать Run. В появившемся окне выбрать необходимые опции и принять их, появится черный экран, так как в файле TutorialApplication.cpp параметр сцены void TutorialApplication::createScene(void) пуст, добавим код:

Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");
Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
headNode->attachObject(ogreHead);
// Set ambient light
mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
// Create a light
Ogre::Light* l = mSceneMgr->createLight("MainLight");
l->setPosition(20,80,50);

Нажмем F9 (Build and Run) и увидим сцену и сетку ogrehead.mesh:

image

Подведем итоги: объектно-ориентированный графический движок Ogre 3D на Gentoo Linux установлен, рабочая среда для взаимодействия с движком настроенна. TutorialFramework запущен, mesh отрисован.

Полезная информация о Ogre3D (для тех кто с с нуля):

  1. Pro Ogre 3D Programming: перевод, оригинал;
  2. Ogre 3d 1.7 beginner's guide;
  3. Руководство по Ogre 1.7 (’Cthugha’) на русском;
  4. Ogre wiki RU;
  5. Ogre wiki EN;
  6. API Reference Start Page;
  7. Ogre Forums;
  8. Add-ons Forum;
  9. Ogre Sockets Client Server.

.

А в чём вообще вопрос-то?

Опыта установки ogre нет, неужто установка ogre отличается от установки других пакетов?

а эта строка - это просто подпись

Подключи оверлей gamerlay,

Подключи оверлей gamerlay, там есть ogre 1.7.1.
Возможно, в скором будущем будет и 1.7.2.

Не грусти, товарищ! Всё хорошо, beautiful good!

Спасибо! Вопрос в том, как

Спасибо! Вопрос в том, как сделать все хорошо, что бы работать с Ogre 3D в gentoo 8D

Keep tryin' me jerk off, keep tryin' me... wanna impress her? Impress her with me. Impress her with ME!

Сделай всё сам. Даже не могу

Сделай всё сам. Даже не могу предположить, что ты ожидал здесь услышать. Документацию в зубы и вперёд! Версия неважна

g++

bes.internal написал(а):
Сделай всё сам. Даже не могу предположить, что ты ожидал здесь услышать. Документацию в зубы и вперёд! Версия неважна

UPD

Keep tryin' me jerk off, keep tryin' me... wanna impress her? Impress her with me. Impress her with ME!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".