BsEditorShaderIncludeHandler.h 984 B

1234567891011121314151617181920212223242526272829
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsEditorPrerequisites.h"
  5. #include "Material/BsShaderManager.h"
  6. namespace bs
  7. {
  8. /** @addtogroup Library-Internal
  9. * @{
  10. */
  11. /**
  12. * Shader include handler for the editor. It uses project library to find the includes, and supports special keywords
  13. * for built-in includes that reside outside of the project library.
  14. */
  15. class BS_ED_EXPORT EditorShaderIncludeHandler : public IShaderIncludeHandler
  16. {
  17. public:
  18. /** @copydoc IShaderIncludeHandler::findInclude */
  19. virtual HShaderInclude findInclude(const String& name) const override;
  20. /** Converts a shader include name or path to a path of the resource containing include data. */
  21. static Path toResourcePath(const String& name);
  22. };
  23. /** @} */
  24. }