BsGLSLProgramFactory.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 "BsGpuProgramManager.h"
  7. namespace BansheeEngine
  8. {
  9. /**
  10. * @brief Factory class that deals with creating GLSL GPU programs.
  11. */
  12. class BS_RSGL_EXPORT GLSLProgramFactory : public GpuProgramFactory
  13. {
  14. public:
  15. /**
  16. * @copydoc GpuProgramFactory::getLanguage
  17. */
  18. const String& getLanguage() const;
  19. /**
  20. * @copydoc GpuProgramFactory::getLanguage(const String&, const String&, GpuProgramType,
  21. * GpuProgramProfile, const Vector<HGpuProgInclude>*, bool)
  22. */
  23. GpuProgramPtr create(const String& source, const String& entryPoint, GpuProgramType gptype,
  24. GpuProgramProfile profile, const Vector<HGpuProgInclude>* includes, bool requireAdjacency);
  25. /**
  26. * @copydoc GpuProgramFactory::create(GpuProgramType)
  27. */
  28. GpuProgramPtr create(GpuProgramType type);
  29. protected:
  30. static const String LANGUAGE_NAME;
  31. };
  32. }