BsD3D11HLSLProgramFactory.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 "BsD3D11Prerequisites.h"
  6. #include "BsGpuProgramManager.h"
  7. namespace BansheeEngine
  8. {
  9. /**
  10. * @brief Handles creation of DirectX 11 HLSL GPU programs.
  11. */
  12. class BS_D3D11_EXPORT D3D11HLSLProgramFactory : public GpuProgramFactory
  13. {
  14. public:
  15. D3D11HLSLProgramFactory();
  16. ~D3D11HLSLProgramFactory();
  17. /**
  18. * @copydoc GpuProgramFactory::getLanguage
  19. */
  20. const String& getLanguage() const;
  21. /**
  22. * @copydoc GpuProgramFactory::getLanguage(const String&, const String&, GpuProgramType,
  23. * GpuProgramProfile, const Vector<HGpuProgInclude>*, bool)
  24. */
  25. GpuProgramPtr create(const String& source, const String& entryPoint, GpuProgramType gptype,
  26. GpuProgramProfile profile, const Vector<HGpuProgInclude>* includes, bool requireAdjacencyInfo);
  27. /**
  28. * @copydoc GpuProgramFactory::create(GpuProgramType)
  29. */
  30. GpuProgramPtr create(GpuProgramType type);
  31. protected:
  32. static const String LANGUAGE_NAME;
  33. };
  34. }