BsMaterialManager.h 734 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsModule.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Material manager handles material creation.
  8. */
  9. class BS_CORE_EXPORT MaterialManager : public Module<MaterialManager>
  10. {
  11. public:
  12. /**
  13. * @brief Creates a new material without any assigned shader.
  14. *
  15. * @note Make sure to call Material::setShader before using it.
  16. */
  17. MaterialPtr create() const;
  18. /**
  19. * @brief Creates a new material with the specified shader.
  20. */
  21. MaterialPtr create(const HShader& shader) const;
  22. /**
  23. * @brief Creates a new empty material without initializing it.
  24. *
  25. * @note You must manually call initialize() after creation.
  26. */
  27. MaterialPtr createEmpty() const;
  28. };
  29. }