BsD3D11HLSLProgramFactory.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsD3D11Prerequisites.h"
  5. #include "BsGpuProgramManager.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Handles creation of DirectX 11 HLSL GPU programs.
  10. */
  11. class BS_D3D11_EXPORT D3D11HLSLProgramFactory : public GpuProgramFactory
  12. {
  13. public:
  14. D3D11HLSLProgramFactory();
  15. ~D3D11HLSLProgramFactory();
  16. /**
  17. * @copydoc GpuProgramFactory::getLanguage
  18. */
  19. const String& getLanguage() const override;
  20. /**
  21. * @copydoc GpuProgramFactory::create(const String&, const String&, GpuProgramType,
  22. * GpuProgramProfile, bool)
  23. */
  24. SPtr<GpuProgramCore> create(const String& source, const String& entryPoint, GpuProgramType gptype,
  25. GpuProgramProfile profile, bool requireAdjacencyInfo) override;
  26. /**
  27. * @copydoc GpuProgramFactory::create(GpuProgramType)
  28. */
  29. SPtr<GpuProgramCore> create(GpuProgramType type) override;
  30. protected:
  31. static const String LANGUAGE_NAME;
  32. };
  33. }