renderer_impl.hpp 649 B

1234567891011121314151617181920212223242526
  1. //
  2. // renderer_impl.hpp
  3. // graphics
  4. //
  5. // Created by Sam Jaffe on 5/20/19.
  6. // Copyright © 2019 Sam Jaffe. All rights reserved.
  7. //
  8. #pragma once
  9. #include "game/graphics/graphics_fwd.h"
  10. #include "game/graphics/renderer.hpp"
  11. #include "game/math/math_fwd.hpp"
  12. namespace graphics {
  13. template <driver> renderer_impl * get_renderer_impl();
  14. struct renderer_impl {
  15. virtual ~renderer_impl() {}
  16. virtual std::shared_ptr<manager const> manager() const = 0;
  17. virtual void draw(identity<material>, math::matr4 const &,
  18. std::vector<vertex> const &) = 0;
  19. virtual void clear() = 0;
  20. virtual void flush() = 0;
  21. };
  22. }