2
0

CmGpuProgramImportOptions.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmImportOptions.h"
  4. #include "CmGpuProgram.h"
  5. namespace CamelotFramework
  6. {
  7. class CM_EXPORT GpuProgramImportOptions : public ImportOptions
  8. {
  9. public:
  10. GpuProgramImportOptions();
  11. void setEntryPoint(const String& entryPoint) { mEntryPoint = entryPoint; }
  12. void setLanguage(const String& language) { mLanguage = language; }
  13. void setProfile(GpuProgramProfile profile) { mProfile = profile; }
  14. void setType(GpuProgramType type) { mType = type; }
  15. void setIncludes(const Vector<HGpuProgInclude>::type& includes) { mIncludes = includes; }
  16. const String& getEntryPoint() const { return mEntryPoint; }
  17. const String& getLanguage() const { return mLanguage; }
  18. GpuProgramProfile getProfile() const { return mProfile; }
  19. GpuProgramType getType() const { return mType; }
  20. const Vector<HGpuProgInclude>::type& getIncludes() const { return mIncludes; }
  21. /************************************************************************/
  22. /* SERIALIZATION */
  23. /************************************************************************/
  24. public:
  25. friend class GpuProgramImportOptionsRTTI;
  26. static RTTITypeBase* getRTTIStatic();
  27. virtual RTTITypeBase* getRTTI() const;
  28. private:
  29. String mEntryPoint;
  30. String mLanguage;
  31. GpuProgramProfile mProfile;
  32. GpuProgramType mType;
  33. Vector<HGpuProgInclude>::type mIncludes;
  34. };
  35. }