void TestScene5::runOgre() { // initialize framework & open window Ogre::Root* root = new Ogre::Root(); root->restoreConfig(); root->initialise(false); auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false); auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC); // adjust camera auto cam1 = sceneMgr->createCamera("cam1"); auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1"); cam1->setNearClipDistance(5); camNode1->attachObject(cam1); camNode1->setPosition(100, 100, 100); camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL); window->addViewport(cam1); // load & integrate model root->addResourceLocation("./resources/Ogre", "FileSystem"); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); auto model = sceneMgr->createEntity("model", "alexandria.mesh"); auto modelNode = sceneMgr->getRootSceneNode()->createChildSceneNode(); modelNode->attachObject(model); // position model modelNode->setPosition(-100, -100, -100); // loop runOgreLoop(root); }
int main(int argc, char** argv) { try { Ogre::Root *root = new Ogre::Root(); if(!root->restoreConfig() && !root->showConfigDialog()) return -1; root->initialise(false); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("./data", "FileSystem"); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); Gtk::Main kit(argc, argv); MainWindow window; window.show(); while(!window.hasExited()) { //root->renderOneFrame(); kit.iteration(); } } catch( Ogre::Exception& e) { std::cerr << "Caught unhandled Ogre exception: " << e.getFullDescription() << std::endl; } // delete root; return 0; }
int main(int argc, char* argv[]){ cout << "Test Ogre Program blaha" << endl; //Relative to where its executed from, not binary location Ogre::Root *mRoot = new Ogre::Root("configs/plugins.cfg","configs/config.cfg","logs/main.log"); if(!(mRoot->restoreConfig() || mRoot->showConfigDialog())){ delete mRoot; return -1; } // setup resources // Only add the minimally required resource locations to load up the Ogre head mesh Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/programs", "FileSystem", "General"); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/programs/GLSL", "FileSystem", "General"); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/scripts", "FileSystem", "General"); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/materials/textures", "FileSystem", "General"); Ogre::ResourceGroupManager::getSingleton().addResourceLocation("/Users/jgrey/OgreSDK/Media/models", "FileSystem", "General"); //Create the window Ogre::RenderWindow *mWindow = mRoot->initialise(true, "initial Render Window"); Ogre::SceneManager *sceneManager = mRoot->createSceneManager(Ogre::ST_GENERIC); Ogre::Camera *camera = sceneManager->createCamera("PlayerCam"); camera->setPosition(Ogre::Vector3(0,0,80)); camera->lookAt(Ogre::Vector3(0,0,-300)); camera->setNearClipDistance(5); Ogre::Viewport* vp = mWindow->addViewport(camera); vp->setBackgroundColour(Ogre::ColourValue(0,0,0,0)); camera->setAspectRatio(Ogre::Real(vp->getActualWidth()) / Ogre::Real(vp->getActualHeight())); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); Ogre::Entity* ogreHead = sceneManager->createEntity("Head","ogreHead.mesh"); Ogre::SceneNode* headNode = sceneManager->getRootSceneNode()->createChildSceneNode(); headNode->attachObject(ogreHead); sceneManager->setAmbientLight(Ogre::ColourValue(0.5,0.5,0.5)); //Run the system bool continueRunning = true; while(continueRunning){ mRoot->renderOneFrame(); headNode->rotate(Ogre::Vector3(0,1,0),Ogre::Radian(0.005)); if(mWindow->isClosed()){ continueRunning = false; } } delete mRoot; }
void TestScene12::runOgre() { // initialize framework & open window Ogre::Root* root = new Ogre::Root(); root->restoreConfig(); root->initialise(false); auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false); auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC); // adjust camera auto cam1 = sceneMgr->createCamera("cam1"); auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1"); cam1->setNearClipDistance(5); camNode1->attachObject(cam1); camNode1->setPosition(Ogre::Vector3(100, 100, 100)); camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL); window->addViewport(cam1); // load & integrate model root->addResourceLocation("./resources/Ogre", "FileSystem"); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); Mesh_Cube M(1); M.createMesh("cube"); Ogre::SceneNode* groups[ROWS]; std::list<Ogre::SceneNode*> nodes; for (int i = 0; i < ROWS; i++) { groups[i] = sceneMgr->getRootSceneNode()->createChildSceneNode(); nodes.push_back(groups[i]); } for (int i = 0; i < ROWS * COLS; i++) { auto node = groups[i % ROWS]->createChildSceneNode(); node->attachObject(sceneMgr->createEntity(std::string("model") + boost::lexical_cast<std::string>(i), "cube")); node->setPosition( camNode1->getOrientation() * -Ogre::Vector3::UNIT_X * LEFT(i) + camNode1->getOrientation() * Ogre::Vector3::UNIT_Y * UP(i) ); } root->addFrameListener(new MoveObjectTask_Ogre12(nodes)); // loop runOgreLoop(root); }
void TestScene3::runOgre() { // initialize framework & open window Ogre::Root* root = new Ogre::Root(); root->restoreConfig(); root->initialise(false); auto window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false); auto sceneMgr = root->createSceneManager(Ogre::ST_GENERIC); // adjust camera auto cam1 = sceneMgr->createCamera("cam1"); auto camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1"); cam1->setNearClipDistance(5); camNode1->attachObject(cam1); camNode1->setPosition(100, 100, 100); camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL); window->addViewport(cam1); // loop runOgreLoop(root); }
/** * Application main function: * Initializes Ogre, creates a window, creates scenes, starts the rendering loop */ void run() { // ----------------------- Create root object & window --------------------- // // Initialize (~ glutInit) mRoot = new Ogre::Root(); mRoot->restoreConfig(); // Read config from ogre.cfg //if(!mRoot->showConfigDialog()) return; // Alternatively, you can show a dialog window here // Create window (~ glutCreateWindow) mWindow = mRoot->initialise(true, "Basic OGRE example"); // Register per-frame callbacks (~ glutIdleFunc) mRoot->addFrameListener(this); // Register keyboard and mouse callbacks (~ glutMouseFunc, glutKeyboardFunc, glutWindowFunc) // This class already implements some logic, such as "quit on Escape". // It is described in input_util.h, feel free to play with that implementation. mEventListener = new SimpleMouseAndKeyboardListener(mWindow, mRoot, this); // ----------- Create scene ----------------- // // Each scene is represented by a "SceneManager" object, which // combines a SceneGraph (set of objects with their model transforms) // with a Camera (view-projection transform) mScene = createTriangleScene(); // Very basic colored triangle // This is like (~ glViewport), in that you could specify the region of the window to draw to. // You can have several scenes rendered to different parts in the window. Ogre::Viewport* vp = mWindow->addViewport(mScene->getCamera("MainCamera")); // ~ glClearColor vp->setBackgroundColour(Ogre::ColourValue(0, 0, 0)); // Enable control of a camera with mouse & keyboard using the utility class. mEventListener->controlCamera(mScene->getCamera("MainCamera")); // ------------------------ Configuration complete ----------------- // // Enter the infinite rendering & event processing loop. // ~ glutMainLoop() mRoot->startRendering(); }
int main(int argc, char **argv) #endif { int ret = 0; Ogre::Log * log = NULL; Ogre::Root * root = NULL; GameManager* game = NULL; Ogre::LogManager * logMgr = NULL; bool configCreated = false; std::string ogreLogPath, ogreCfgPath; srand(time(NULL)); using namespace boost::filesystem; // Creates the Lost Marbles directory to write to path lostMarblesDir(utils::getLostMarblesWriteDir()); try { if(! exists(lostMarblesDir)) create_directories(lostMarblesDir); } catch(const filesystem_error& ex) { #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 MessageBoxA(NULL, ex.what(), "An exception has occurred!", MB_OK | MB_ICONERROR | MB_TASKMODAL); #else std::cerr << "An exception has occured: " << ex.what() << std::endl; #endif ret = 1; goto gracefulexit; } ogreLogPath = (lostMarblesDir / "Ogre.log").string(); logMgr = new Ogre::LogManager(); log = logMgr->createLog(ogreLogPath, true, true, false); ogreCfgPath = (lostMarblesDir / "Ogre.cfg").string(); root = new Ogre::Root("Plugins.cfg",ogreCfgPath); log->logMessage("Main Lost Marbles write directory " + lostMarblesDir.string()); log->logMessage("Log Path: " + ogreLogPath); log->logMessage("Config Path: " + ogreCfgPath); if(!root->restoreConfig()) { configCreated = root->showConfigDialog(); root->saveConfig(); } else configCreated = true; if(configCreated) { game = new GameManager(); try { // initialize the game and switch to the first state game->start(LogoState::getInstance()); } catch (Ogre::Exception& e) { #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 MessageBoxA(NULL, e.getFullDescription().c_str(), "An exception has occurred!", MB_OK | MB_ICONERROR | MB_TASKMODAL); #else std::cerr << "An exception has occured: " << e.getFullDescription() << std::endl; #endif ret = 1; goto gracefulexit; } } gracefulexit: if(game) delete game; if(root) delete root; if(logMgr) delete logMgr; return ret; }
int main() { Ogre::Root* root = new Ogre::Root(); root->addResourceLocation("/home/soulmerge/projects/Diplomarbeit/Prototype/resources/Ogre/", "FileSystem"); if (!root->restoreConfig() && !root->showConfigDialog()) { throw 1; } root->initialise(false); Ogre::SceneManager* sceneMgr = root->createSceneManager(Ogre::ST_GENERIC); sceneMgr->setAmbientLight(Ogre::ColourValue::White * 10); Ogre::RenderWindow* window = root->createRenderWindow("Ogre RenderWindow", 800, 600, false, NULL); Ogre::Camera* cam1 = sceneMgr->createCamera("cam1"); Ogre::Camera* cam2 = sceneMgr->createCamera("cam2"); Ogre::Camera* cam3 = sceneMgr->createCamera("cam3"); Ogre::Camera* cam4 = sceneMgr->createCamera("cam4"); Ogre::Viewport* vp1 = window->addViewport(cam1, 1, 0 , 0 , 0.5, 0.5); Ogre::Viewport* vp2 = window->addViewport(cam2, 2, 0.5, 0 , 0.5, 0.5); Ogre::Viewport* vp3 = window->addViewport(cam3, 3, 0 , 0.5, 0.5, 0.5); Ogre::Viewport* vp4 = window->addViewport(cam4, 4, 0.5, 0.5, 0.5, 0.5); vp1->setBackgroundColour(Ogre::ColourValue(1, 1, 1)); vp2->setBackgroundColour(Ogre::ColourValue(1, 1, 1) * 0.95); vp3->setBackgroundColour(Ogre::ColourValue(1, 1, 1) * 0.95); vp4->setBackgroundColour(Ogre::ColourValue(1, 1, 1)); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); Ogre::Entity* model = sceneMgr->createEntity("model", "alexandria.mesh"); Ogre::SceneNode* modelNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("modelnode1"); modelNode1->attachObject(model); cam1->setNearClipDistance(5); cam2->setNearClipDistance(5); cam3->setNearClipDistance(5); cam4->setNearClipDistance(5); /* cam1->setPolygonMode(Ogre::PM_WIREFRAME); cam2->setPolygonMode(Ogre::PM_WIREFRAME); cam3->setPolygonMode(Ogre::PM_WIREFRAME); cam4->setPolygonMode(Ogre::PM_WIREFRAME); */ Ogre::SceneNode* camNode1 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode1"); Ogre::SceneNode* camNode2 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode2"); Ogre::SceneNode* camNode3 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode3"); Ogre::SceneNode* camNode4 = sceneMgr->getRootSceneNode()->createChildSceneNode("camnode4"); camNode1->attachObject(cam1); camNode2->attachObject(cam2); camNode3->attachObject(cam3); camNode4->attachObject(cam4); Ogre::Quaternion q; q.FromAngleAxis(Ogre::Degree(90), Ogre::Vector3::UNIT_Y); camNode1->lookAt(Ogre::Vector3(-1, -1, -1), Ogre::Node::TS_LOCAL); camNode2->setOrientation(q * camNode1->getOrientation()); camNode3->setOrientation(q * camNode2->getOrientation()); camNode4->setOrientation(q * camNode3->getOrientation()); camNode1->setPosition(100, 100, 100); camNode2->setPosition(100, 100, -100); camNode3->setPosition(-100, 100, -100); camNode4->setPosition(-100, 100, 100); while(true) { Ogre::WindowEventUtilities::messagePump(); if (window->isClosed()) { return 0; } if (!root->renderOneFrame()) { return 0; } } return 0; }
bool initialise() { mRoot = new Ogre::Root(PLUGINS_CFG, OGRE_CFG, OGRE_LOG); if (!mRoot->restoreConfig()) if (!mRoot->showConfigDialog()) return false; initResources(); mWindow = mRoot->initialise(true, "CS Clone Editor v0.0"); Ogre::WindowEventUtilities::addWindowEventListener(mWindow, this); mSceneMgr = mRoot->createSceneManager(Ogre::ST_GENERIC); mSceneMgr->setAmbientLight(Ogre::ColourValue(0.7, 0.7, 0.7)); mCamera = mSceneMgr->createCamera("camera"); mWindow->addViewport(mCamera); mCamera->setAutoAspectRatio(true); mCamera->setNearClipDistance(0.1); mCamera->setFarClipDistance(10000); mCamera->setPosition(10, 10, 10); // mCamera->lookAt(0, 0, 0); mRoot->addFrameListener(this); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); //Initializing OIS Ogre::LogManager::getSingletonPtr()->logMessage("*-*-* OIS Initialising"); OIS::ParamList pl; size_t windowHnd = 0; mWindow->getCustomAttribute("WINDOW", &windowHnd); pl.insert(std::make_pair(std::string("WINDOW"), Ogre::StringConverter::toString(windowHnd))); #if OGRE_DEBUG_MODE == 1 #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX #define NO_EXCLUSIVE_INPUT #endif #endif #ifdef NO_EXCLUSIVE_INPUT #if defined OIS_WIN32_PLATFORM pl.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND" ))); pl.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE"))); pl.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_FOREGROUND"))); pl.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_NONEXCLUSIVE"))); #elif defined OIS_LINUX_PLATFORM pl.insert(std::make_pair(std::string("x11_mouse_grab"), std::string("false"))); pl.insert(std::make_pair(std::string("x11_mouse_hide"), std::string("false"))); pl.insert(std::make_pair(std::string("x11_keyboard_grab"), std::string("false"))); pl.insert(std::make_pair(std::string("XAutoRepeatOn"), std::string("true"))); #endif #endif mInputManager = OIS::InputManager::createInputSystem(pl); mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true)); mKeyboard->setEventCallback(this); mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true)); mMouse->setEventCallback(this); windowResized(mWindow); //Initialising GUI Ogre::LogManager::getSingletonPtr()->logMessage("*-*-* MyGUI Initialising"); mGUI = new MyGUI::Gui; mGUI->initialise(mWindow); mGUI->load("editor.layout"); mMenuBar = mGUI->createWidget<MyGUI::MenuBar>("MenuBar", MyGUI::IntCoord(0, 0, mGUI->getViewWidth(), 28), MyGUI::ALIGN_TOP | MyGUI::ALIGN_HSTRETCH, "Overlapped"); mMenuBar->addItem("File"); mPopupMenuFile = mMenuBar->getItemMenu(0); mPopupMenuFile->addItem("New"); mPopupMenuFile->addItem("Open ..."); mPopupMenuFile->addItem("Save"); mPopupMenuFile->addItem("Save as ...", false, true); mPopupMenuFile->addItem("Settings", false, true); mPopupMenuFile->addItem("Quit"); mMenuBar->addItem("Help"); mPopupMenuHelp = mMenuBar->getItemMenu(1); mPopupMenuHelp->addItem("Help"); mPopupMenuHelp->addItem("About ..."); return (true); }
Ogre::Root *render_setup (int width, int height) { try { Ogre::Root *root = new Ogre::Root("Data/plugins.cfg", "Data/ogre.cfg", "Data/ogre.log"); if (!root->restoreConfig()) { // setup a renderer Ogre::RenderSystemList *renderers = root-> getAvailableRenderers(); assert (!renderers-> empty()); // we need at least one renderer to do anything useful //Ogre::RenderSystem *renderSystem = chooseRenderer(renderers); Ogre::RenderSystem *renderSystem = *renderers-> begin(); assert (renderSystem); // user might pass back a null renderer, which would be bad! root-> setRenderSystem (renderSystem); QString dimensions = QString ("%1x%2").arg (width).arg (height); renderSystem-> setConfigOption ("Video Mode", dimensions.toStdString()); root-> getRenderSystem()-> setConfigOption ("Full Screen", "No"); root-> saveConfig(); } // initialize without creating window root-> initialise (false); // Load resource paths from config file Ogre::ConfigFile config; config.load ("Data/resources.cfg"); // Go through all sections & settings in the file Ogre::ConfigFile::SectionIterator it = config.getSectionIterator(); Ogre::String secName, typeName, archName; while (it.hasMoreElements()) { secName = it.peekNextKey(); Ogre::ConfigFile::SettingsMultiMap *settings = it.getNext(); Ogre::ConfigFile::SettingsMultiMap::iterator i; for (i = settings->begin(); i != settings->end(); ++i) { typeName = i->first; archName = i->second; Ogre::ResourceGroupManager::getSingleton().addResourceLocation (archName, typeName, secName); } } Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); return root; } catch (std::exception &e) { cout << "exception: " << e.what() << endl; throw; } return NULL; }