Renderer.h 451 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "App.h"
  3. namespace gameplay
  4. {
  5. class GP_API Renderer
  6. {
  7. friend class App;
  8. public:
  9. /**
  10. * Constructor.
  11. *
  12. * @see App::get_renderer() instead.
  13. */
  14. Renderer();
  15. /**
  16. * Destructor.
  17. */
  18. ~Renderer();
  19. private:
  20. void startup();
  21. void shutdown();
  22. void update();
  23. void next_frame();
  24. void render_frame();
  25. void present_frame();
  26. struct Impl;
  27. std::unique_ptr<Impl> _impl;
  28. };
  29. }