CmCgProgramRTTI.h 664 B

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