Esempio n. 1
0
	void Material::initialize()
	{
		ITextureManager *pTextureManager = getRenderEngine()->getRenderSystem()->getTextureManager();

		size_t size = m_vLayers.size();
		for(size_t i = 0;i < size;i++)
		{
			MaterialLayer& layer = m_vLayers[i];
			if(!layer.m_szTexture.empty())
			{
				layer.m_pTexture = pTextureManager->createTextureFromFile(layer.m_szTexture,FO_LINEAR,FO_LINEAR,FO_LINEAR);
			}
		}
	}
Esempio n. 2
0
	void SubModelInstance::setTexture(int layer,const char* szName)
	{
		Assert(layer >= 0 && layer < m_mtlOrigin.numLayers());
		MaterialLayer *pLayer = m_mtl.getLayer(layer);

		const std::string& textureName = pLayer->m_szTexture;
		if(StringHelper::casecmp(textureName,szName) == 0)return;

		safeRelease(pLayer->m_pTexture);
		pLayer->m_szTexture = "";

		if(!szName)return;

		IRenderEngine *pRenderEngine = getRenderEngine();
		IRenderSystem *pRenderSystem = pRenderEngine->getRenderSystem();
		ITextureManager *pTextureManager = pRenderSystem->getTextureManager();
		pLayer->m_pTexture = pTextureManager->createTextureFromFile(szName,FO_LINEAR,FO_LINEAR,FO_LINEAR);
		if(pLayer->m_pTexture)
		{
			pLayer->m_szTexture = szName;
		}
	}