CmRenderer.h 566 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmGameObject.h"
  4. #include <boost/signals.hpp>
  5. namespace CamelotFramework
  6. {
  7. class CM_EXPORT Renderer
  8. {
  9. public:
  10. virtual const String& getName() const = 0;
  11. /**
  12. * @brief Renders all cameras.
  13. */
  14. virtual void renderAll() = 0;
  15. void addRenderCallback(const Viewport* viewport, std::function<void(const Viewport*, RenderQueue&)> callback);
  16. protected:
  17. UnorderedMap<const Viewport*, Vector<std::function<void(const Viewport*, RenderQueue&)>>::type>::type mRenderCallbacks;
  18. };
  19. }