#pragma once #include "RenderTechnique.h" #include "OgreRenderable.h" #include "OgreSharedRuns.h" class OgreTechniqueGroup; /** @brief Class of RenderTechniques used in an OGRE environment. */ class OgreRenderTechnique : virtual public RenderTechnique { public: /** @brief Constructor. @param the pass to operate on @param parentRenderable the object to operate on @param parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to */ OgreRenderTechnique( Pass* pass, OgreRenderable* parentRenderable, OgreTechniqueGroup* parentTechniqueGroup); ~OgreRenderTechnique( ); //inherited virtual OgreRenderTechnique* asOgreRenderTechnique(){return this;} protected: /** @brief a OgreRenderable pointer to the renderable this technique operates on. */ OgreRenderable* parentOgreRenderable; /** @brief a OgreTechniqueGroup pointer to the TechniqueGroup this technique is attached to. */ OgreTechniqueGroup* parentOgreTechniqueGroup; /** @brief a pointer to the pass this technique operates on. */ Pass* pass; };