renderManager.h 896 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef RENDERMANAGER_H
  2. #define RENDERMANAGER_H
  3. #include "SDL.h"
  4. #include "windowManager.h"
  5. #include "texture.h"
  6. #include "rasterizer.h"
  7. #include "canvas.h"
  8. #include "model.h"
  9. class RenderManager {
  10. public:
  11. RenderManager();
  12. ~RenderManager();
  13. bool startUp(WindowManager windowManager);
  14. void render(Model *models, Matrix4 &mat);
  15. void shutDown();
  16. private:
  17. //Init methods
  18. bool createRenderer(SDL_Window * mainWindow);
  19. bool createCanvas();
  20. bool createScreenTexture();
  21. void createProjectionMatrix();
  22. //Rendering pipeline stuff
  23. void clearScreen();
  24. void updateScreen();
  25. //Per vertex stuff
  26. SDL_Renderer *mainRenderer;
  27. Texture screenTexture;
  28. Canvas *mainCanvas;
  29. Rasterizer *raster;
  30. Matrix4 projectionMatrix;
  31. };
  32. #endif