BsMaterialManager.h 832 B

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