Example #1
0
void MLevel::createFX(MShaderRef * vertexShaderRef, MShaderRef * pixelShaderRef, unsigned int * FXId)
{
	MRenderingContext * render = MEngine::getInstance()->getRenderingContext();
	unsigned int i;
	unsigned int size = m_FXManager.getFXRefsNumber();
	for(i=0; i<size; i++)
	{
		MFXRef * FXRef = (MFXRef *)m_FXManager.getFXRef(i);
		if((FXRef->getVertexShaderRef() == vertexShaderRef) && (FXRef->getPixelShaderRef() == pixelShaderRef))
		{
			*FXId = FXRef->getFXId();
			return;
		}
	}

	render->createFX(FXId, vertexShaderRef->getShaderId(), pixelShaderRef->getShaderId());
	m_FXManager.addFXRef(*FXId, vertexShaderRef, pixelShaderRef);
}