BsRendererFactory.h 956 B

1234567891011121314151617181920212223242526272829303132
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #pragma once
  5. #include "BsCorePrerequisites.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Factory class for creating Renderer objects. Implement
  10. * this class for any custom renderer classes you may have,
  11. * and register it with renderer manager.
  12. *
  13. * @see RendererManager
  14. *
  15. * @note Internal class.
  16. */
  17. class BS_CORE_EXPORT RendererFactory
  18. {
  19. public:
  20. /**
  21. * @brief Creates a new instance of the renderer.
  22. */
  23. virtual RendererPtr create() = 0;
  24. /**
  25. * @brief Returns the name of the renderer this factory creates.
  26. */
  27. virtual const String& name() const = 0;
  28. };
  29. }