BsEditorApplication.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsApplication.h"
  4. #include "BsPath.h"
  5. namespace BansheeEngine
  6. {
  7. enum class RenderSystemPlugin
  8. {
  9. DX11,
  10. DX9,
  11. OpenGL
  12. };
  13. class BS_ED_EXPORT EditorApplication : public Application
  14. {
  15. public:
  16. EditorApplication(RenderSystemPlugin renderSystemPlugin);
  17. virtual ~EditorApplication();
  18. static void startUp(RenderSystemPlugin renderSystemPlugin);
  19. bool isProjectLoaded() const;
  20. const Path& getActiveProjectPath() const;
  21. private:
  22. static const String& getLibraryNameForRenderSystem(RenderSystemPlugin plugin);
  23. virtual void onStartUp();
  24. virtual void update();
  25. EditorWidgetLayoutPtr loadWidgetLayout();
  26. void saveWidgetLayout(const EditorWidgetLayoutPtr& layout);
  27. static void closeModalWindow(RenderWindowPtr window, HSceneObject sceneObject);
  28. private:
  29. static const Path WIDGET_LAYOUT_PATH;
  30. RenderSystemPlugin mActiveRSPlugin;
  31. // DEBUG ONLY
  32. HGpuProgram mFragProgRef;
  33. HGpuProgram mVertProgRef;
  34. ShaderPtr mTestShader;
  35. TechniquePtr mNewTechniqueGL;
  36. PassPtr mNewPassGL;
  37. TechniquePtr mNewTechniqueDX;
  38. PassPtr mNewPassDX;
  39. TechniquePtr mNewTechniqueDX11;
  40. PassPtr mNewPassDX11;
  41. HMaterial mTestMaterial;
  42. HTexture mTestTexRef;
  43. HMesh mDbgMeshRef;
  44. };
  45. }