BsD3D11HLSLProgramFactory.h 911 B

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