BsShaderIncludeImporter.h 925 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsSpecificImporter.h"
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Importer
  7. * @{
  8. */
  9. /**
  10. * Importer using for importing GPU program (i.e. shader) include files. Include files are just text files ending with
  11. * ".bslinc" extension.
  12. */
  13. class BS_CORE_EXPORT ShaderIncludeImporter : public SpecificImporter
  14. {
  15. public:
  16. ShaderIncludeImporter();
  17. virtual ~ShaderIncludeImporter();
  18. /** @copydoc SpecificImporter::isExtensionSupported */
  19. virtual bool isExtensionSupported(const WString& ext) const override;
  20. /** @copydoc SpecificImporter::isMagicNumberSupported */
  21. virtual bool isMagicNumberSupported(const UINT8* magicNumPtr, UINT32 numBytes) const override;
  22. /** @copydoc SpecificImporter::import */
  23. virtual ResourcePtr import(const Path& filePath, ConstImportOptionsPtr importOptions) override;
  24. };
  25. /** @} */
  26. }