bool WindowsManager::addMesh (const char* meshNameCorba,
            const char* meshPathCorba)
    {
        std::string meshName (meshNameCorba);
        std::string meshPath (meshPathCorba);
        if (nodes_.find (meshName) != nodes_.end ()) {
            std::cout << "You need to chose an other name, \"" << meshName
                << "\" already exist." << std::endl;
            return false;
        }
        else {
            try {
	        mtx_.lock();
                LeafNodeColladaPtr_t mesh = LeafNodeCollada::create
                    (meshName, meshPath);
                WindowsManager::initParent (meshName, mesh);
                addNode (meshName, mesh);
		mtx_.unlock();
                return true;
            } catch (const std::exception& exc) {
                std::cout << "Mesh \"" << meshPath << "\" not found." << std::endl;
                return false;
            }
        }
    }
Beispiel #2
0
TriangleMesh* BlenderSceneExporter::createMesh( const TamyMesh& exportedMesh )
{
   ResourcesManager& resMgr = TSingleton< ResourcesManager >::getInstance();

   // create the resource
   FilePath meshPath( m_meshesExportDir + exportedMesh.name + "." + TriangleMesh::getExtension() );
   TriangleMesh* triangleMesh = resMgr.create< TriangleMesh >( meshPath );

   // set mesh data
   triangleMesh->setVertices( exportedMesh.verticesList, exportedMesh.verticesCount );
   triangleMesh->setFaces( exportedMesh.facesList, exportedMesh.facesCount );
   triangleMesh->calculateTangents();

   if ( exportedMesh.hasVertexWeights )
   {
      triangleMesh->setVertexWeights( exportedMesh.vertexWeightsList, exportedMesh.verticesCount );
   }

   // save the resource
   if ( m_exportSettings.saveMeshes )
   {
      triangleMesh->saveResource();
   }

   return triangleMesh;
}
DeferredPointLightRenderer::DeferredPointLightRenderer()
{
   ResourcesManager& resMgr = ResourcesManager::getInstance();

   FilePath vsPath( LIGHTING_SHADERS_DIR "Deferred/Point/pointLight.tvsh" );
   m_vertexShader = resMgr.create< VertexShader >( vsPath, true );

   FilePath psPath( LIGHTING_SHADERS_DIR "Deferred/Point/pointLight.tpsh" );
   m_pixelShader = resMgr.create< PixelShader >( psPath, true );

   FilePath meshPath( LIGHTING_SHADERS_DIR "Deferred/Point/pointLight.ttm" );
   m_pointLightMesh = resMgr.create< TriangleMesh >( meshPath, true );
}