#include "Ogre.h" #include "OgreEffectWrapper.h" #include "managedogrerendertexturepass.h" #include "SEMEnvironmentMapPass.h" #include "SpecularEnvironmentMapRun.h" SpecularEnvironmentMapRun::SpecularEnvironmentMapRun(Entity* entity, unsigned int resolution) { Root* mRoot=Root::getSingletonPtr(); OgreAssert(mRoot!=NULL,"Root is not yet generated, rendering will fail."); envMapPass=new SEMEnvironmentMapPass(mRoot,resolution,resolution); } SpecularEnvironmentMapRun::~SpecularEnvironmentMapRun(void) { delete envMapPass; } void SpecularEnvironmentMapRun::update(){ envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_POSITIVE_X); envMapPass->update(); envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_POSITIVE_Y); envMapPass->update(); envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_POSITIVE_Z); envMapPass->update(); envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_NEGATIVE_X); envMapPass->update(); envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_NEGATIVE_Y); envMapPass->update(); envMapPass->clearRenderTargets(); envMapPass->addRenderTarget(envMapPass->getRenderTexture(),CUBEMAP_FACE_NEGATIVE_Z); envMapPass->update(); }