CmRenderSystemManager.h 575 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmRenderSystemFactory.h"
  4. namespace CamelotEngine
  5. {
  6. typedef std::shared_ptr<RenderSystemFactory> RenderSystemFactoryPtr;
  7. class CM_EXPORT RenderSystemManager
  8. {
  9. public:
  10. static void startUp(const String& name);
  11. static RenderSystem* getActive() { return mActiveRenderSystem.get(); }
  12. static void registerRenderSystemFactory(RenderSystemFactoryPtr factory);
  13. private:
  14. static std::vector<RenderSystemFactoryPtr>& getAvailableFactories();
  15. static RenderSystemPtr mActiveRenderSystem;
  16. };
  17. }