// author: Szabolcs Czuczor (BME-IIT) #include "PhotonMapFilteringRun.h" /** * @brief: Constructor. */ PhotonMapFilteringRun::PhotonMapFilteringRun(Entity* entity, const String& areaMapName, const String& unfilteredPhotonMapName) { this->entity = entity; Root* mRoot=Root::getSingletonPtr(); this->areaMap = TextureManager::getSingleton().load(areaMapName,"PMFTEX"); this->unfilteredPhotonMap = TextureManager::getSingleton().load(unfilteredPhotonMapName,"PMFTEX"); this->normalMapPass=new PMFNormalMapPass(mRoot,1024,1024); this->photonMapFilteringPass=new PMFFilteringPass(mRoot,1024,1024); this->photonMapFilteringPass->changeTexture(areaMap->getName() , 0); this->photonMapFilteringPass->changeTexture(unfilteredPhotonMap->getName() , 1); this->photonMapFilteringPass->changeTexture(normalMapPass->getRenderTextureName() , 2); this->normalMapPass->update(); this->photonMapFilteringPass->update(); } /** * @brief: Destructor. */ PhotonMapFilteringRun::~PhotonMapFilteringRun() { delete normalMapPass; delete photonMapFilteringPass; } void PhotonMapFilteringRun::update() { this->normalMapPass->update(); this->photonMapFilteringPass->update(); } void PhotonMapFilteringRun::init(float areaCompensation, float normalThreshold) { if (areaCompensation >= 0.0) this->photonMapFilteringPass->setAreaCompensation(areaCompensation); if (normalThreshold >= 0.0) this->photonMapFilteringPass->setNormalThreshold(normalThreshold); } const String& PhotonMapFilteringRun::getResultTextureName() { return photonMapFilteringPass->getRenderTextureName(); }