BsGLSLGpuProgramRTTI.h 985 B

1234567891011121314151617181920212223242526272829303132333435
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #pragma once
  5. #include "BsGLPrerequisites.h"
  6. #include "BsRTTIType.h"
  7. #include "BsGpuProgramManager.h"
  8. #include "BsGLSLGpuProgram.h"
  9. namespace BansheeEngine
  10. {
  11. class BS_RSGL_EXPORT GLSLGpuProgramRTTI : public RTTIType<GLSLGpuProgram, GpuProgram, GLSLGpuProgramRTTI>
  12. {
  13. public:
  14. GLSLGpuProgramRTTI()
  15. { }
  16. virtual const String& getRTTIName()
  17. {
  18. static String name = "GLSLGpuProgram";
  19. return name;
  20. }
  21. virtual UINT32 getRTTIId()
  22. {
  23. return TID_GL_GLSLGpuProgram;
  24. }
  25. virtual std::shared_ptr<IReflectable> newRTTIObject()
  26. {
  27. return GpuProgramManager::instance().createEmpty("glsl", GPT_VERTEX_PROGRAM);
  28. }
  29. };
  30. }