// author: Barnabas Aszodi (BME-IIT) #include "Ogre.h" #include "OgreEffectWrapper.h" #include "ManagedOgreRenderTexturePass.h" #include "VRMRun.h" #include "SoftShadowMapRun.h" SoftShadowMapRun::SoftShadowMapRun( Entity* entity ) { Root* mRoot = new Root(); this->entity = entity; this->vRMRenderingRun = new VRMRun(entity,1024,1024); this->vRMRenderGeometryMapPass = new VRMRenderGeometryMapPass(mRoot,"GeometryMapTexture",1024,1024,TEX_TYPE_2D,PF_FLOAT32_RGBA); this->vRMFilteringMapPass = new VRMFilteringMapPass(mRoot,"FilterMapTexture",1024,1024,TEX_TYPE_2D,PF_FLOAT32_RGBA); } void SoftShadowMapRun::update() { vRMRenderingRun->update(); vRMRenderDepthBufferMapPass->update(); vRMRenderGeometryMapPass->update(); vRMFilteringMapPass->update(); } const String& SoftShadowMapRun::getResultTextureName() { return vRMFilteringMapPass->getMaterialName(); } SoftShadowMapRun::~SoftShadowMapRun() { SAFE_DELETE(vRMRenderingRun); SAFE_DELETE(vRMRenderDepthBufferMapPass); SAFE_DELETE(vRMRenderGeometryMapPass); SAFE_DELETE(vRMFilteringMapPass); }