BsRendererFactory.h 905 B

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