2
0

BsShaderIncludeHandler.h 720 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsShaderManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Shader include handler for the editor. It uses project library to find
  8. * the includes, and supports special keywords for built-in includes that
  9. * reside outside of the project library.
  10. */
  11. class BS_ED_EXPORT EditorShaderIncludeHandler : public IShaderIncludeHandler
  12. {
  13. public:
  14. /**
  15. * @copydoc IShaderIncludeHandler::findInclude
  16. */
  17. virtual HShaderInclude findInclude(const String& name) const override;
  18. /**
  19. * @brief Converts a shader include name or path to a path
  20. * of the resource containing include data.
  21. */
  22. static Path toResourcePath(const String& name);
  23. };
  24. }