#include "EffectManager.h"


EffectManager* EffectManager::instance;

EffectManager::EffectManager()
{
	phongEffect = new PhongEffect();
	postProcessingEffect = new PostProcessing();
	shadowMapping = new ShadowMapping();
	introEffect = new IntroEffect();
}

HRESULT EffectManager::initEffects()
{	
	postProcessingEffect->init();
	shadowMapping->init();
	introEffect->init();
	return phongEffect->init();
}

PhongEffect* EffectManager::getPhongEffect()
{
	return phongEffect;
}

PostProcessing* EffectManager::getPostProcessingEffect()
{
	return postProcessingEffect;
}

ShadowMapping* EffectManager::getShadowMappingEffect()
{
	return shadowMapping;
}

IntroEffect* EffectManager::getIntroEffect()
{
	return introEffect;
}

EffectManager::~EffectManager()
{
	delete phongEffect;
	delete postProcessingEffect;
	delete shadowMapping;
	delete introEffect;
}

