CmRenderer.h 672 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. namespace CamelotEngine
  4. {
  5. class Renderer
  6. {
  7. public:
  8. virtual const String& getName() const = 0;
  9. /**
  10. * @brief Renders all cameras.
  11. */
  12. virtual void renderAll() = 0;
  13. /**
  14. * @brief Renders the scene from the perspective of a single camera
  15. */
  16. virtual void render(const CameraPtr camera) = 0;
  17. protected:
  18. friend class RenderCommandBuffer;
  19. /**
  20. * @brief Sets the currently active pass.
  21. */
  22. virtual void setPass(PassPtr pass) = 0;
  23. /**
  24. * @brief Sets the parameters for the current pass;
  25. */
  26. virtual void setPassParameters(PassParametersPtr params) = 0;
  27. };
  28. }