Ignore:
Timestamp:
03/31/06 17:29:32 (18 years ago)
Author:
igarcia
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/BBCManager.cpp

    r699 r721  
    1717 
    1818Manager::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{    
    9720} 
    9821 
     
    10326void Manager::shutdown() 
    10427{ 
    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          
    12328} 
    12429 
     
    12732} 
    12833 
    129 Ogre::Mesh* Manager::loadMesh(Ogre::String name) 
     34Ogre::Mesh* Manager::loadMesh(Ogre::String folderName, Ogre::String fileName) 
    13035{        
    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(); 
    13347} 
    13448 
     
    14963        } 
    15064 
    151     mXMLMeshSerializer->importMesh(name, colourElementType, newMesh.getPointer()); 
     65    OBA::OgreBase::getSingleton().getXMLMeshSerializer()->importMesh(name, colourElementType, newMesh.getPointer()); 
     66 
    15267        return newMesh.getPointer(); 
    15368} 
     
    15671{ 
    15772        Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().getByName(name); 
    158         mMeshSerializer->exportMesh(meshPtr.getPointer(),name); 
     73        OBA::OgreBase::getSingleton().getMeshSerializer()->exportMesh(meshPtr.getPointer(),name); 
    15974} 
    16075 
     
    16277{ 
    16378        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"); 
    17580} 
    17681 
Note: See TracChangeset for help on using the changeset viewer.