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; } } }
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 ); }