BsRendererFactory.h 938 B

12345678910111213141516171819202122232425262728293031323334
  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. /** @cond INTERNAL */
  8. /** @addtogroup Renderer
  9. * @{
  10. */
  11. /**
  12. * Factory class for creating Renderer objects. Implement this class for any custom renderer classes you may have, and
  13. * register it with renderer manager.
  14. *
  15. * @see RendererManager
  16. */
  17. class BS_CORE_EXPORT RendererFactory
  18. {
  19. public:
  20. virtual ~RendererFactory() { }
  21. /** Creates a new instance of the renderer. */
  22. virtual CoreRendererPtr create() = 0;
  23. /** Returns the name of the renderer this factory creates. */
  24. virtual const String& name() const = 0;
  25. };
  26. /** @} */
  27. /** @endcond */
  28. }