BsRendererFactory.h 643 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. namespace BansheeEngine
  4. {
  5. /**
  6. * @brief Factory class for creating Renderer objects. Implement
  7. * this class for any custom renderer classes you may have,
  8. * and register it with renderer manager.
  9. *
  10. * @see RendererManager
  11. *
  12. * @note Internal class.
  13. */
  14. class BS_CORE_EXPORT RendererFactory
  15. {
  16. public:
  17. virtual ~RendererFactory() { }
  18. /**
  19. * @brief Creates a new instance of the renderer.
  20. */
  21. virtual CoreRendererPtr create() = 0;
  22. /**
  23. * @brief Returns the name of the renderer this factory creates.
  24. */
  25. virtual const String& name() const = 0;
  26. };
  27. }