- Timestamp:
- 03/31/06 17:29:32 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCManager.cpp
r699 r721 17 17 18 18 Manager::Manager() 19 { 20 // Change it when the texture generation will be included... 21 //mOgreRoot = new Ogre::Root(); 22 if (Ogre::Root::getSingletonPtr() == NULL) 23 { 24 mOgreRoot = new Ogre::Root("", "ogre.cfg", "Ogre.log"); 25 Ogre::LogManager::getSingleton().logMessage("OgreRoot created in LBBC"); 26 } 27 else 28 { 29 mOgreRoot = Ogre::Root::getSingletonPtr(); 30 Ogre::LogManager::getSingleton().logMessage("OgreRoot assigned in LBCC"); 31 } 32 33 mDefaultHardwareBufferManager = new Ogre::DefaultHardwareBufferManager(); 34 mMeshSerializer = new Ogre::MeshSerializer(); 35 mXMLMeshSerializer = new Ogre::XMLMeshSerializer(); 36 mMath = new Ogre::Math(); 37 loadResources(); 38 } 39 40 void Manager::loadResources() 41 { 42 // Load resource paths from config file 43 Ogre::ConfigFile cf; 44 cf.load("resources.cfg"); 45 // Go through all sections & settings in the file 46 Ogre::ConfigFile::SectionIterator seci = cf.getSectionIterator(); 47 48 Ogre::String secName, typeName, archName; 49 while (seci.hasMoreElements()) 50 { 51 secName = seci.peekNextKey(); 52 Ogre::ConfigFile::SettingsMultiMap *settings = seci.getNext(); 53 Ogre::ConfigFile::SettingsMultiMap::iterator i; 54 for (i = settings->begin(); i != settings->end(); ++i) 55 { 56 typeName = i->first; 57 archName = i->second; 58 Ogre::ResourceGroupManager::getSingleton().addResourceLocation(archName, typeName, secName); 59 } 60 } 61 Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); 62 } 63 64 void Manager::initRenderWindow() 65 { 66 // Change it when the texture generation will be included... 67 /* 68 // Render system. 69 Ogre::LogManager::getSingleton().logMessage("Creating window..."); 70 //mOgreRoot->showConfigDialog(); 71 // Set parameters of render system (window size, etc.) 72 mOgreRoot->restoreConfig(); 73 74 mWnd = mOgreRoot->initialise(true); 75 mWnd->resize(512,512); 76 77 // Camera. 78 mScene = mOgreRoot->getSceneManager(Ogre::ST_GENERIC); 79 mRSys = mOgreRoot->getRenderSystem(); 80 Ogre::LogManager::getSingleton().logMessage("Creating default camera..."); 81 mCam = mScene->createCamera("SubMain Camera"); 82 mCam->setPosition(-1, 22, 72); 83 mCam->lookAt(0, 22, 0); 84 mCam->setNearClipDistance(0.5); 85 // Viewports. 86 Ogre::LogManager::getSingleton().logMessage("Creating default viewort..."); 87 mView = mWnd->addViewport(mCam); 88 mView->setBackgroundColour(Ogre::ColourValue(1.0f,1.0f,1.0f,0)); 89 // All set up, activate. 90 Ogre::LogManager::getSingleton().logMessage("Setting up..."); 91 //mWnd->setActive(true); 92 mWnd->setActive(false); 93 mFrameListener = new ExampleFrameListener(mWnd,mCam,false,false); 94 mFrameListener->showDebugOverlay(false); 95 mOgreRoot->addFrameListener(mFrameListener); 96 */ 19 { 97 20 } 98 21 … … 103 26 void Manager::shutdown() 104 27 { 105 mOgreRoot->shutdown();106 delete mOgreRoot;107 delete mMeshSerializer;108 delete mXMLMeshSerializer;109 delete mMath;110 // Not necessary if we have a RenderWindow...111 delete mDefaultHardwareBufferManager;112 // Change it when the texture generation will be included...113 //mWnd->destroy();114 // Only necessary if we have a RenderWindow...115 //delete mFrameListener;116 //delete mScene;117 //delete mRSys;118 //delete mCam;119 //delete mView;120 //delete mWnd;121 122 123 28 } 124 29 … … 127 32 } 128 33 129 Ogre::Mesh* Manager::loadMesh(Ogre::String name)34 Ogre::Mesh* Manager::loadMesh(Ogre::String folderName, Ogre::String fileName) 130 35 { 131 Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().load(name, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 132 return meshPtr.getPointer(); 36 //std::ifstream ifs; 37 //ifs.open(Ogre::String(folderName + fileName).c_str(), std::ios_base::in | std::ios_base::binary); 38 //Ogre::DataStreamPtr stream(new Ogre::FileStreamDataStream(folderName + fileName, &ifs, false)); 39 //Ogre::MeshPtr mesh = OBA::OgreBase::getSingleton().getMeshManager()->create(fileName, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 40 //OBA::OgreBase::getSingleton().getMeshSerializer()->importMesh(stream, mesh.getPointer()); 41 42 Ogre::ResourceGroupManager::getSingleton().addResourceLocation(folderName, "FileSystem", fileName, false); 43 44 Ogre::MeshPtr mesh = OBA::OgreBase::getSingleton().getMeshManager()->load(fileName, fileName); 45 46 return mesh.getPointer(); 133 47 } 134 48 … … 149 63 } 150 64 151 mXMLMeshSerializer->importMesh(name, colourElementType, newMesh.getPointer()); 65 OBA::OgreBase::getSingleton().getXMLMeshSerializer()->importMesh(name, colourElementType, newMesh.getPointer()); 66 152 67 return newMesh.getPointer(); 153 68 } … … 156 71 { 157 72 Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().getByName(name); 158 mMeshSerializer->exportMesh(meshPtr.getPointer(),name);73 OBA::OgreBase::getSingleton().getMeshSerializer()->exportMesh(meshPtr.getPointer(),name); 159 74 } 160 75 … … 162 77 { 163 78 Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().getByName(name); 164 mXMLMeshSerializer->exportMesh(meshPtr.getPointer(),name + ".xml"); 165 } 166 167 Ogre::MeshSerializer* Manager::getMeshSerializer(void) 168 { 169 return mMeshSerializer; 170 } 171 172 Ogre::XMLMeshSerializer* Manager::getXMLMeshSerializer(void) 173 { 174 return mXMLMeshSerializer; 79 OBA::OgreBase::getSingleton().getXMLMeshSerializer()->exportMesh(meshPtr.getPointer(),name + ".xml"); 175 80 } 176 81
Note: See TracChangeset
for help on using the changeset viewer.