#include "renderer.hpp" #include "glclasses.hpp" #include "game.hpp" #include "state/trace.hpp" #include "state/object.hpp" #include "state/missile.hpp" #include "state/player.hpp" #include "state/planet.hpp" #include "state/ship.hpp" #include "state/explosion.hpp" class PolygonModel; namespace endofthejedi { class RendererPolygon3d : public Renderer { public: void setup(); void render(const game::State *state) override; private: void renderPlanets(const game::State *state); void renderMissiles(const game::State *state); void renderShips(const game::State *state); void addModel(const std::string &filename, PolygonModel **dest); private: // all models are also here (for easy reloading etc.) std::vector m_models; // and with a specific variable name here PolygonModel *m_missileModel; PolygonModel *m_planetModel; PolygonModel *m_shipModel; // for rendering everything Shader m_shader; }; }