BsRendererFactory.h 686 B

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