BsEditorShaderIncludeHandler.h 1017 B

12345678910111213141516171819202122232425262728293031
  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 "BsShaderManager.h"
  6. namespace BansheeEngine
  7. {
  8. /** @cond INTERNAL */
  9. /** @addtogroup Library
  10. * @{
  11. */
  12. /**
  13. * Shader include handler for the editor. It uses project library to find the includes, and supports special keywords
  14. * for built-in includes that reside outside of the project library.
  15. */
  16. class BS_ED_EXPORT EditorShaderIncludeHandler : public IShaderIncludeHandler
  17. {
  18. public:
  19. /** @copydoc IShaderIncludeHandler::findInclude */
  20. virtual HShaderInclude findInclude(const String& name) const override;
  21. /** Converts a shader include name or path to a path of the resource containing include data. */
  22. static Path toResourcePath(const String& name);
  23. };
  24. /** @} */
  25. /** @endcond */
  26. }