Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Ogre中选择材质名称导出.mesh文件_C++_Graphics_Textures_Ogre - Fatal编程技术网

C++ 在Ogre中选择材质名称导出.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

我想导出包含材质信息的行星的.mesh文件。 我能够正确导出.mesh文件。但是我被代码困住了,试图导出材料。 以下是我使用的代码:

   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文件时,它指向一个没有名字的材质。我想选择材料的名称。 以下是我正在进行的项目: