#pragma once //disable inheritance warning caused by multiple inheritance #if _WIN32 #if _MSC_VER #pragma warning(disable: 4250) #endif #endif #include "OgreRenderingRun.h" #include "OgreSharedRuns.h" /** @brief ColorCubeMapRenderingRun used in an OGRE environment. */ class OgrePMWeightComputeRenderingRun : public OgreRenderingRun { public: /** @brief Constructor. */ OgrePMWeightComputeRenderingRun(String name, String LightName); /** @brief returns the name of the camera depth texture */ String getPMWeightTetureName(){return weightTexture->getName();} float* getWeights(){return weights;} protected: /** @brief pointer to the player's viewport */ Matrix4 lightMatrix; Matrix4 lightViewMatrix; /** @brief the name of the weight texture that was created by this run */ String name; /** @brief a pointer to the scene depth texture that was created by this run */ Texture* weightTexture; Texture* allWeightsTexture; Light* light; float* weights; //inherited void updateFrame(unsigned long frameNum); inline void createWeightMap(); };