Название: Ogre3D не запускается. падает на выборе рендеров
Отправлено: ieroglif от Сентябрь 07, 2011, 00:27
собираю вместе Ogre3D и Qt. и то и другое последнее скачано и обновлено =) + MinGW последний воспользовался этой (http://www.ogre3d.org/tikiwiki/QtOgre&structure=Cookbook) и этой (http://www.ogre3d.org/tikiwiki/Setting+Up+An+Application+-+QtCreator) статьями, дополнительно перенастроил внутри проекта компилятор на новый mingw. кусок инициализации на котором падает: C++ (Qt) // create the main ogre object mOgreRoot = new Ogre::Root( plugins_file, ogre_cfg_file, ogre_log ); // setup a renderer Ogre::RenderSystemList::const_iterator renderers = mOgreRoot->getAvailableRenderers().begin(); Ogre::LogManager::getSingleton().logMessage("!!Get Renders"); while(renderers != mOgreRoot->getAvailableRenderers().end()) { Ogre::LogManager::getSingleton().logMessage("ku"); Ogre::String rName = (*renderers)->getName(); Ogre::LogManager::getSingleton().logMessage(rName); if (rName == "OpenGL Rendering Subsystem") break; renderers++; } Ogre::LogManager::getSingleton().logMessage("Render ok!"); Ogre::RenderSystem *renderSystem = *renderers;
вывод в лог: Запускается C:\Qt\OgreSDK\bin\Release\OgreTest.exe... Creating resource group General Creating resource group Internal Creating resource group Autodetect SceneManagerFactory for type 'DefaultSceneManager' registered. Registering ResourceManager for type Material Registering ResourceManager for type Mesh Registering ResourceManager for type Skeleton MovableObjectFactory for type 'ParticleSystem' registered. OverlayElementFactory for type Panel registered. OverlayElementFactory for type BorderPanel registered. OverlayElementFactory for type TextArea registered. Registering ResourceManager for type Font ArchiveFactory for archive type FileSystem registered. ArchiveFactory for archive type Zip registered. DDS codec registering FreeImage version: 3.13.1 This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2,pfm,pct,pict,pic,bay,bmq,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,k25,kdc,mdc,mos,mrw,nef,orf,pef,pxn,raf,raw,rdc,sr2,srf,arw,3fr,cine,ia,kc2,mef,nrw,qtk,rw2,sti,drf,dsc,ptx,cap,iiq,rwz Registering ResourceManager for type HighLevelGpuProgram Registering ResourceManager for type Compositor MovableObjectFactory for type 'Entity' registered. MovableObjectFactory for type 'Light' registered. MovableObjectFactory for type 'BillboardSet' registered. MovableObjectFactory for type 'ManualObject' registered. MovableObjectFactory for type 'BillboardChain' registered. MovableObjectFactory for type 'RibbonTrail' registered. ../plugins.cfg not found, automatic plugin loading disabled. *-*-* OGRE Initialising *-*-* Version 1.7.2 (Cthugha) !!Get Renders Программа неожиданно завершилась. C:\Qt\OgreSDK\bin\Release\OgreTest.exe завершился с кодом -1073741819 вопрос обычен: в чём косяк?
Название: Re: Ogre3D не запускается. падает на выборе рендеров
Отправлено: lit-uriy от Сентябрь 07, 2011, 06:45
а gdb что по этому поводу говорит?
Название: Re: Ogre3D не запускается. падает на выборе рендеров
Отправлено: Disa от Февраль 08, 2012, 12:17
Получилось ли как-то решить эту проблему?
Название: Re: Ogre3D не запускается. падает на выборе рендеров
Отправлено: Hronom от Март 10, 2012, 19:29
Моя инициализация: bool GraphicSystem::init() { //----------------------------------------------------- // 1 Создание рута //----------------------------------------------------- mRoot = new Ogre::Root(mPluginsCfg, mOgreCfg, mOgreLogFile);
//----------------------------------------------------- // 2 Настройка приложение и создание окна //----------------------------------------------------- if(!(mRoot->restoreConfig() || mRoot->showConfigDialog())) { delete mRoot; return false; }
mRenderWindow = mRoot->initialise(true, "JustGame");
// Set default mipmap level (note: some APIs ignore this) Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5);
//----------------------------------------------------- // 3 Загрузка ресурсов из конфига //----------------------------------------------------- Ogre::ConfigFile xConfigFile; xConfigFile.load(mResourcesCfg);
// Проходим по всем секция в файле Ogre::ConfigFile::SectionIterator xSection = xConfigFile.getSectionIterator();
Ogre::String xSecName, xTypeName, xArchName; while (xSection.hasMoreElements()) { xSecName = xSection.peekNextKey(); Ogre::ConfigFile::SettingsMultiMap *settings = xSection.getNext(); Ogre::ConfigFile::SettingsMultiMap::iterator i; for (i = settings->begin(); i != settings->end(); i++) { xTypeName = i->first; xArchName = i->second; Ogre::ResourceGroupManager::getSingleton().addResourceLocation( xArchName, xTypeName, xSecName); } }
// Грузим все ресурсы Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
//----------------------------------------------------- // 4 Создание менеджера сцен // // ST_GENERIC = octree // ST_EXTERIOR_CLOSE = simple terrain // ST_EXTERIOR_FAR = nature terrain (depreciated) // ST_EXTERIOR_REAL_FAR = paging landscape // ST_INTERIOR = Quake3 BSP //----------------------------------------------------- mSceneManager = mRoot->createSceneManager(Ogre::ST_GENERIC);
//----------------------------------------------------- // 5 Создание камеры //----------------------------------------------------- mCamera = mSceneManager->createCamera("MainCamera"); mCamera->setPosition(Ogre::Vector3(0,0,100)); mCamera->lookAt(Ogre::Vector3(0,0,0)); mCamera->setNearClipDistance(5);
//----------------------------------------------------- // 6 Создание вьюпорта //----------------------------------------------------- Ogre::Viewport* xViewport = mRenderWindow->addViewport(mCamera); xViewport->setBackgroundColour(Ogre::ColourValue(0,0,0));
mCamera->setAspectRatio(Ogre::Real(xViewport->getActualWidth()) / Ogre::Real(xViewport->getActualHeight()));
// Set ambient light mSceneManager->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
//----------------------------------------------------- // 7 Инициализация MyGUI //----------------------------------------------------- mOgrePlatform = new MyGUI::OgrePlatform(); mOgrePlatform->initialise(mRenderWindow, mSceneManager, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, mMyGUILogFile); // mWindow is Ogre::RenderWindow*, mSceneManager is Ogre::SceneManager* mMyGUI = new MyGUI::Gui(); mMyGUI->initialise();
//----------------------------------------------------- // 8 Добавление слушателя событий //----------------------------------------------------- Ogre::WindowEventUtilities::addWindowEventListener(mRenderWindow, this); mRoot->addFrameListener(this);
return true; } В своей гейме использую кют, но не использую мета систему. Вот я на днях ещё написал парочку статей. Посмотрите может у вас что-то отличается... В перовой всё, что я делал, для сборки из исходников Ogre3D, MyGUI, Bullet Physics с использованием MinGW, CMake и среды разработки QtCreator под Windows. Во второй мини статье находятся мэйк файлы проекта который объединяет в себе Ogre3D, MyGUI, Bullet Physics, OpenAL, FreeALUT, Qt. Вот всё это дело: - Сборка из исходников Ogre3D, MyGUI, Bullet Physics с использованием MinGW, CMake и среды разработки QtCreator под Windows (http://hronom.blogspot.com/2012/03/ogre3d-mygui-bullet-physics-mingw-cmake_593.html)
- Создание проекта работающего с Ogre3D, MyGUI, Bullet Physics, OpenAL, FreeALUT, Qt с использованием MinGW, CMake и среды разработки QtCreator под Windows (http://hronom.blogspot.com/2012/03/ogre3d-mygui-bullet-physics-mingw-cmake_10.html)
Проект игры на гитхабе: Основная логика игры https://github.com/Hronom/JustGame Инициализация различных компонентов https://github.com/Hronom/JustGameCore
Название: Re: Ogre3D не запускается. падает на выборе рендеров
Отправлено: Disa от Март 11, 2012, 10:34
Офигительно! Огромное спасибо! Я правда уже переметниулся на время в сторону разработчиков под Unity3D, надолго или нет пока не знаю, тк нужно делать большой кусок научной визуализации и быстро. Хотя насколько Unity под это подходит пока толком не пойму, там документации на 600 стр :D
Но форум, сообщество и материалов несравнимо больше чем по Ogre или OSG... На последем только 3и дня ждал модерацию моего сообщения на форуме, чтоб другие пользователи смогли бы увидеть сообщение :D
PS: Меня сейчас немного расстраивает финансовое положение Нокии на рынке и я не знаю как будет в дальнейшем жить Qt. Хотя, конечно, хотелось бы долгих лет :)
Название: Re: Ogre3D не запускается. падает на выборе рендеров
Отправлено: Hronom от Март 11, 2012, 17:25
Офигительно! Огромное спасибо! Я правда уже переметниулся на время в сторону разработчиков под Unity3D, надолго или нет пока не знаю, тк нужно делать большой кусок научной визуализации и быстро. Хотя насколько Unity под это подходит пока толком не пойму, там документации на 600 стр :D
Но форум, сообщество и материалов несравнимо больше чем по Ogre или OSG... На последем только 3и дня ждал модерацию моего сообщения на форуме, чтоб другие пользователи смогли бы увидеть сообщение :D
PS: Меня сейчас немного расстраивает финансовое положение Нокии на рынке и я не знаю как будет в дальнейшем жить Qt. Хотя, конечно, хотелось бы долгих лет :)
Unity3D отличная штука. Это фактически целый фреймворк для игр и графических программ, там не только графика но и физика, звук и так далее. Мне в юнити не нравится моно и отсутствие поддержки линукса, но это по религиозным соображениям. Если у вас вся суть в написании научной работы и надо сделать быстро, думаю вам скорее всего лучше использовать именно Юнити. PS: Да меня тоже печалит, что нокиа не спонсирует кют, надеюсь находясь на поддержке опенсорс сообщества он не утратит темпы развития. Вообще очень жаль, что кют не вошёл очень плотно в приложения, очень удобный фреймворк с отличной документацией и талантливыми разработчиками, аналогов ему толком просто нету.
|