2
0

BsEngineShaderIncludeHandler.h 995 B

1234567891011121314151617181920212223242526272829
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsPrerequisites.h"
  5. #include "BsShaderManager.h"
  6. namespace BansheeEngine
  7. {
  8. /** @addtogroup Resources-Engine-Internal
  9. * @{
  10. */
  11. /**
  12. * Shader include handler for the engine. It loads includes relative to the application working directory and supports
  13. * special $ENGINE$ folder for built-in includes.
  14. */
  15. class BS_EXPORT EngineShaderIncludeHandler : 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. }