I am using my own file system and generic 3d model/mesh format powered by ASSIMP to load 3d models and animation data into the game. Now I am trying to figure out how to use Ogre to create and render them.
I've got some very rudimentary beginnings here, which I borrowed from one of the few tutorials I could find on the subject:
Code: Select all
const aiScene* scene = aiImportFile( filename().c_str(), aiProcessPreset_TargetRealtime_MaxQuality );
if( !scene )
{
return 0;
}
Ogre::MeshPtr mesh = Ogre::MeshManager::getSingleton().createManual( filename(), "General" );
Ogre::SubMesh* subMesh = mesh->createSubMesh();
mesh->sharedVertexData = new Ogre::VertexData;
mesh->sharedVertexData->vertexCount = 3;
Ogre::VertexDeclaration* decl = mesh->sharedVertexData->vertexDeclaration;
size_t offset = 0;
decl->addElement( 0, offset, Ogre::VET_FLOAT3, Ogre::VES_POSITION );
offset += Ogre::VertexElement::getTypeSize( Ogre::VET_FLOAT3 );
I can manually use OpenGL to create vertex buffer objects (VBOs), but as far as I can tell this is only for static 3d models.
Any pointers?