BsShaderInclude.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Material/BsShaderInclude.h"
  4. #include "Resources/BsResources.h"
  5. #include "RTTI/BsShaderIncludeRTTI.h"
  6. namespace bs
  7. {
  8. ShaderInclude::ShaderInclude(const String& includeString)
  9. :Resource(false), mString(includeString)
  10. {
  11. }
  12. HShaderInclude ShaderInclude::create(const String& includeString)
  13. {
  14. return static_resource_cast<ShaderInclude>(gResources()._createResourceHandle(_createPtr(includeString)));
  15. }
  16. SPtr<ShaderInclude> ShaderInclude::_createPtr(const String& includeString)
  17. {
  18. SPtr<ShaderInclude> shaderIncludePtr = bs_core_ptr<ShaderInclude>(
  19. new (bs_alloc<ShaderInclude>()) ShaderInclude(includeString));
  20. shaderIncludePtr->_setThisPtr(shaderIncludePtr);
  21. shaderIncludePtr->initialize();
  22. return shaderIncludePtr;
  23. }
  24. RTTITypeBase* ShaderInclude::getRTTIStatic()
  25. {
  26. return ShaderIncludeRTTI::instance();
  27. }
  28. RTTITypeBase* ShaderInclude::getRTTI() const
  29. {
  30. return ShaderInclude::getRTTIStatic();
  31. }
  32. }