#include "Ogre.h" #include "OgreEffectWrapper.h" #include "managedogrerendertexturepass.h" #include "DiffuseEnvironmentMapRun.h" DiffuseEnvironmentMapRun::DiffuseEnvironmentMapRun(Entity* entity, unsigned int resolution) { Root* mRoot=Root::getSingletonPtr(); OgreAssert(mRoot!=NULL,"Root is not yet generated, rendering will fail."); envMapPass=new DEMEnvironmentMapPass(mRoot,resolution,resolution); } DiffuseEnvironmentMapRun::~DiffuseEnvironmentMapRun(void) { delete envMapPass; } void DiffuseEnvironmentMapRun::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(); }