C++ 在Ogre中选择材质名称导出.mesh文件
我想导出包含材质信息的行星的.mesh文件。 我能够正确导出.mesh文件。但是我被代码困住了,试图导出材料。 以下是我使用的代码:C++ 在Ogre中选择材质名称导出.mesh文件,c++,graphics,textures,ogre,C++,Graphics,Textures,Ogre,我想导出包含材质信息的行星的.mesh文件。 我能够正确导出.mesh文件。但是我被代码困住了,试图导出材料。 以下是我使用的代码: Ogre::MaterialPtr matSphere; matSphere = Ogre::MaterialManager::getSingleton().create("TexMap", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); Ogre::Pass
Ogre::MaterialPtr matSphere;
matSphere = Ogre::MaterialManager::getSingleton().create("TexMap", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
Ogre::Pass *pass = matSphere->getTechnique(0)->getPass(0);
pass->setLightingEnabled(true);
pass->setDepthCheckEnabled(true);
pass->setSceneBlending(Ogre::SBT_TRANSPARENT_ALPHA);
Ogre::TextureUnitState *tex = pass->createTextureUnitState("MyCustomState", 0);
tex->setTextureName("PATH\planet.png");
tex->setTextureFiltering(Ogre::TFO_TRILINEAR);
matSphere->load();
// Set texture for the sphere
sphereEntity->setMaterial(matSphere);
//Export the shape in a mesh file before destroying it
Ogre::MeshPtr mesh;
mesh = sphereEntity->getMesh();
Ogre::MeshSerializer ser;
ser.exportMesh(mesh.getPointer(), exportFile, Ogre::MeshSerializer::ENDIAN_NATIVE);
似乎如果我手动创建一个.material文件,但没有指定材质的名称(我的意思是保留材质的名称为空),那么一切都可以正常工作。我已经在我的程序中测试了导入网格的方法。所以主要的问题是当我导出一个.mesh文件时,它指向一个没有名字的材质。我想选择材料的名称。
以下是我正在进行的项目: