BsD3D11HLSLProgramFactory.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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. /** @addtogroup D3D11
  9. * @{
  10. */
  11. /** Handles creation of DirectX 11 HLSL GPU programs. */
  12. class BS_D3D11_EXPORT D3D11HLSLProgramFactory : public GpuProgramFactory
  13. {
  14. public:
  15. D3D11HLSLProgramFactory();
  16. ~D3D11HLSLProgramFactory();
  17. /** @copydoc GpuProgramFactory::getLanguage */
  18. const String& getLanguage() const override;
  19. /** @copydoc GpuProgramFactory::create(const String&, const String&, GpuProgramType, GpuProgramProfile, bool) */
  20. SPtr<GpuProgramCore> create(const String& source, const String& entryPoint, GpuProgramType gptype,
  21. GpuProgramProfile profile, bool requiresAdjacency) override;
  22. /** @copydoc GpuProgramFactory::create(GpuProgramType) */
  23. SPtr<GpuProgramCore> create(GpuProgramType type) override;
  24. protected:
  25. static const String LANGUAGE_NAME;
  26. };
  27. /** @} */
  28. }