CmGLSLProgramRTTI.h 688 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmRTTIType.h"
  4. #include "CmHighLevelGpuProgramManager.h"
  5. #include "CmHighLevelGpuProgram.h"
  6. #include "CmGLSLProgram.h"
  7. namespace CamelotFramework
  8. {
  9. class CM_RSGL_EXPORT GLSLProgramRTTI : public RTTIType<GLSLProgram, HighLevelGpuProgram, GLSLProgramRTTI>
  10. {
  11. public:
  12. GLSLProgramRTTI()
  13. { }
  14. virtual const String& getRTTIName()
  15. {
  16. static String name = "GLSLProgram";
  17. return name;
  18. }
  19. virtual UINT32 getRTTIId()
  20. {
  21. return TID_GL_GLSLProgram;
  22. }
  23. virtual std::shared_ptr<IReflectable> newRTTIObject()
  24. {
  25. return HighLevelGpuProgramManager::instance().createEmpty("glsl");
  26. }
  27. };
  28. }