#pragma once //disable inheritance warning caused by multiple inheritance #if _WIN32 #if _MSC_VER #pragma warning(disable: 4250) #endif #endif #include "OgreRenderingRun.h" #include "SceneCameraDepthRenderingRun.h" #include "OgreSharedRuns.h" /** @brief SceneCameraDepthRenderingRun used in an OGRE environment. */ class OgreSceneCameraDepthRenderingRun : public OgreRenderingRun, public SceneCameraDepthRenderingRun { public: /** @brief Constructor. @param sharedRuns a pointer to the OgreSharedRuns this run belongs to @param name the name of the depth texture to be created @param playerView pointer to the player's viewport */ OgreSceneCameraDepthRenderingRun(OgreSharedRuns* sharedRuns, String name, Viewport* playerView); /** @brief returns the name of the camera depth texture */ String getDepthTextureName(){return name;} protected: /** @brief pointer to the player's viewport */ Viewport* playerView; /** @brief pointer to the player's camera */ Camera* playerCamera; /** @brief a pointer to the OgreSharedRuns this run belongs to */ OgreSharedRuns* sharedRuns; /** @brief the name of the depth texture that was created by this run */ String name; /** @brief a pointer to the scene depth texture that was created by this run */ Texture* depthTexture; //inherited void updateFrame(unsigned long frameNum); //inherited inline void createDepthMap(); };