BsD3D9HLSLProgramFactory.h 923 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BsD3D9Prerequisites.h"
  3. #include "BsGpuProgramManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Handles creation of HLSL GPU programs.
  8. */
  9. class BS_D3D9_EXPORT D3D9HLSLProgramFactory : public GpuProgramFactory
  10. {
  11. public:
  12. D3D9HLSLProgramFactory();
  13. ~D3D9HLSLProgramFactory();
  14. /**
  15. * @copydoc GpuProgramFactory::getLanguage
  16. */
  17. const String& getLanguage() const override;
  18. /**
  19. * @copydoc GpuProgramFactory::getLanguage(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 requiresAdjacency) override;
  24. /**
  25. * @copydoc GpuProgramFactory::create(GpuProgramType)
  26. */
  27. SPtr<GpuProgramCore> create(GpuProgramType type) override;
  28. protected:
  29. static String LANGUAGE_NAME;
  30. };
  31. }