| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #pragma once
- #include "CmPrerequisites.h"
- #include "CmIReflectable.h"
- namespace CamelotFramework
- {
- class CM_EXPORT Technique : public IReflectable
- {
- public:
- Technique(const String& renderSystem, const String& renderer);
- PassPtr addPass();
- void removePass(UINT32 idx);
- PassPtr getPass(UINT32 idx) const;
- UINT32 getNumPasses() const { return (UINT32)mPasses.size(); }
- bool isSupported() const;
- private:
- String mRenderSystem;
- String mRenderer;
- Vector<PassPtr>::type mPasses;
- /************************************************************************/
- /* RTTI */
- /************************************************************************/
-
- /**
- * @brief Serialization only constructor.
- */
- Technique() {}
- public:
- friend class TechniqueRTTI;
- static RTTITypeBase* getRTTIStatic();
- virtual RTTITypeBase* getRTTI() const;
- };
- }
|