BsGLSLProgramFactory.h 903 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsGLPrerequisites.h"
  3. #include "BsGpuProgramManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Factory class that deals with creating GLSL GPU programs.
  8. */
  9. class BS_RSGL_EXPORT GLSLProgramFactory : public GpuProgramFactory
  10. {
  11. public:
  12. /**
  13. * @copydoc GpuProgramFactory::getLanguage
  14. */
  15. const String& getLanguage() const;
  16. /**
  17. * @copydoc GpuProgramFactory::getLanguage(const String&, const String&, GpuProgramType,
  18. * GpuProgramProfile, const Vector<HGpuProgInclude>*, bool)
  19. */
  20. GpuProgramPtr create(const String& source, const String& entryPoint, GpuProgramType gptype,
  21. GpuProgramProfile profile, const Vector<HGpuProgInclude>* includes, bool requireAdjacency);
  22. /**
  23. * @copydoc GpuProgramFactory::create(GpuProgramType)
  24. */
  25. GpuProgramPtr create(GpuProgramType type);
  26. protected:
  27. static const String LANGUAGE_NAME;
  28. };
  29. }