Skip to main content

History: Loading Meshes From Any Path

Preview of version: 2

Usually the paths of resources - including meshes - should be defined in the resource.cfg file. However, sometimes we need to load mesh files just like "open file" from any local path, which is not predefined in the resource file.

The following code snippet shows to accomplish that:

Copy to clipboard
Ogre::String source; FILE* pFile = fopen( source.c_str(), "rb" ); if (!pFile) OGRE_EXCEPT(Exception::ERR_FILE_NOT_FOUND,"File " + source + " not found.", "OgreMeshLoaded"); struct stat tagStat; stat( source.c_str(), &tagStat ); MemoryDataStream* memstream = new MemoryDataStream(source, tagStat.st_size, true); fread( (void*)memstream->getPtr(), tagStat.st_size, 1, pFile ); fclose( pFile ); MeshPtr pMesh = MeshManager::getSingleton().createManua("LocalMesh",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); MeshSerializer meshSerializer; DataStreamPtr stream(memstream); meshSerializer.importMesh(stream, pMesh.getPointer()); Entity* pF35_1 = m_pSceneMgr->createEntity("LocalMesh_Ent", "LocalMesh");

History

Information Version
Sat 15 of Nov, 2014 23:15 GMT-0000 spacegaier fixed interwiki linking 7
Sat 15 of Nov, 2014 22:43 GMT-0000 loath 6
Wed 11 of Aug, 2010 13:10 GMT-0000 jacmoe 5
Sat 02 of Jan, 2010 23:40 GMT-0000 jacmoe 4
Fri 01 of Jan, 2010 22:40 GMT-0000 jacmoe 3
Fri 25 of Dec, 2009 20:04 GMT-0000 jacmoe 2
Thu 02 of Jul, 2009 09:12 GMT-0000 Spacegaier code tag, category, language 1