BsGLSLGpuProgramRTTI.h 634 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "BsGLPrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsGpuProgramManager.h"
  5. #include "BsGLSLGpuProgram.h"
  6. namespace BansheeEngine
  7. {
  8. class BS_RSGL_EXPORT GLSLGpuProgramRTTI : public RTTIType<GLSLGpuProgram, GpuProgram, GLSLGpuProgramRTTI>
  9. {
  10. public:
  11. GLSLGpuProgramRTTI()
  12. { }
  13. virtual const String& getRTTIName()
  14. {
  15. static String name = "GLSLGpuProgram";
  16. return name;
  17. }
  18. virtual UINT32 getRTTIId()
  19. {
  20. return TID_GL_GLSLGpuProgram;
  21. }
  22. virtual std::shared_ptr<IReflectable> newRTTIObject()
  23. {
  24. return GpuProgramManager::instance().createEmpty("glsl", GPT_VERTEX_PROGRAM);
  25. }
  26. };
  27. }