2
0

CmD3D11HLSLProgramRTTI.h 722 B

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