BsShaderInclude.cpp 941 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "BsShaderInclude.h"
  2. #include "BsResources.h"
  3. #include "BsShaderIncludeRTTI.h"
  4. namespace BansheeEngine
  5. {
  6. ShaderInclude::ShaderInclude(const String& includeString)
  7. :Resource(false), mString(includeString)
  8. {
  9. }
  10. HShaderInclude ShaderInclude::create(const String& includeString)
  11. {
  12. return static_resource_cast<ShaderInclude>(gResources()._createResourceHandle(_createPtr(includeString)));
  13. }
  14. ShaderIncludePtr ShaderInclude::_createPtr(const String& includeString)
  15. {
  16. ShaderIncludePtr shaderIncludePtr = bs_core_ptr<ShaderInclude, PoolAlloc>(
  17. new (bs_alloc<ShaderInclude, PoolAlloc>()) ShaderInclude(includeString));
  18. shaderIncludePtr->_setThisPtr(shaderIncludePtr);
  19. shaderIncludePtr->initialize();
  20. return shaderIncludePtr;
  21. }
  22. RTTITypeBase* ShaderInclude::getRTTIStatic()
  23. {
  24. return ShaderIncludeRTTI::instance();
  25. }
  26. RTTITypeBase* ShaderInclude::getRTTI() const
  27. {
  28. return ShaderInclude::getRTTIStatic();
  29. }
  30. }