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