#pragma once #include #include #include #include #include "game.hpp" namespace endofthejedi { /** * Base class for the render. * * Implementations should render the whole scene (state) on the screen with * opengl. */ class Renderer { private: protected: public: virtual void setup() { } virtual void render(const game::State *state) = 0; virtual void setWindowSize(int px, int py) { (void) px; (void) py; } virtual void setCameraMatrix(const glm::mat4 &cam) { (void) cam; } }; }