CmApplication.h 692 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmHighLevelGpuProgram.h"
  4. namespace CamelotEngine
  5. {
  6. class RenderWindow;
  7. class Viewport;
  8. class Camera;
  9. class HighLevelGpuProgramManager;
  10. }
  11. namespace CamelotEngine
  12. {
  13. class CM_EXPORT Application
  14. {
  15. public:
  16. Application();
  17. void startUp(String renderSystemDll);
  18. void runMainLoop();
  19. void shutDown();
  20. void DBG_renderSimpleFrame();
  21. private:
  22. RenderWindow* mRenderWindow;
  23. std::shared_ptr<Camera> mCamera;
  24. HighLevelGpuProgramPtr mFragProg;
  25. HighLevelGpuProgramPtr mVertProg;
  26. TexturePtr mDbgTexture;
  27. GameObjectPtr mCameraGO;
  28. };
  29. CM_EXPORT Application& gApplication();
  30. }