BsRendererFactory.h 605 B

1234567891011121314151617181920212223242526272829
  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. /**
  18. * @brief Creates a new instance of the renderer.
  19. */
  20. virtual RendererPtr create() = 0;
  21. /**
  22. * @brief Returns the name of the renderer this factory creates.
  23. */
  24. virtual const String& name() const = 0;
  25. };
  26. }