CmMeshManager.h 719 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmDeferredRenderContextFwd.h"
  4. #include "CmModule.h"
  5. namespace CamelotFramework
  6. {
  7. class CM_EXPORT MeshManager : public Module<MeshManager>
  8. {
  9. public:
  10. MeshManager();
  11. ~MeshManager();
  12. MeshPtr create();
  13. MeshPtr createEmpty();
  14. /**
  15. * @brief Returns empty mesh data. (Technically it is not empty,
  16. * as 0 sized buffers will cause problems, so it contains 3 indices
  17. * and 1 vertex).
  18. */
  19. MeshDataPtr getDummyMeshData() const { return mDummyMeshData; }
  20. HMesh getDummyMesh() const { return mDummyMesh; }
  21. private:
  22. MeshDataPtr mDummyMeshData;
  23. HMesh mDummyMesh;
  24. protected:
  25. virtual void onStartUp();
  26. };
  27. }