BsGpuProgramImporter.h 881 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsSpecificImporter.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Importer for GPU programs (i.e. shaders). File must end with ".gpuprog" extension,
  8. * and actual type of the program is determined via import options.
  9. */
  10. class BS_CORE_EXPORT GpuProgramImporter : public SpecificImporter
  11. {
  12. public:
  13. /** @copydoc SpecificImporter::isExtensionSupported */
  14. virtual bool isExtensionSupported(const WString& ext) const;
  15. /** @copydoc SpecificImporter::isMagicNumberSupported */
  16. virtual bool isMagicNumberSupported(const UINT8* magicNumPtr, UINT32 numBytes) const;
  17. /** @copydoc SpecificImporter::import */
  18. virtual ResourcePtr import(const Path& filePath, ConstImportOptionsPtr importOptions);
  19. /** @copydoc SpecificImporter::createImportOptions */
  20. virtual ImportOptionsPtr createImportOptions() const;
  21. };
  22. }