Пример #1
0
	FPS_UINT32 MaterialManager::LoadTexture( const std::string &p_FileName,
		MD5_DIGEST &p_TextureDigest )
	{
		Texture *pMaterialTexture = new Texture( );

		if( pMaterialTexture->LoadFromFile( p_FileName ) != FPS_OK )
		{
			return FPS_FAIL;
		}

		pMaterialTexture->GetDigest( p_TextureDigest );

		std::pair< std::map< MD5_DIGEST, Texture * >::iterator, bool >
			TextureMapResult;

		TextureMapResult = m_Textures.insert(
			std::pair< MD5_DIGEST, Texture * >( p_TextureDigest,
				pMaterialTexture ) );

		if( TextureMapResult.second == false )
		{
			std::cout << "[FPS::MaterialManager::LoadTexture] <INFO> "
				"Duplicate texture detected, not adding" << std::endl;
			SafeDelete< Texture >( pMaterialTexture );
		}

		return FPS_OK;
	}