6 atm we are going to have 1 renderer per scene and 1 shader program
17 virtual void draw_object(Object *object) const = 0;
24 Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera);
27 /* for the moment each Renderer creates and destroys the ShaderProgram
28 because we are using only a couple of shaders, in the future we might need a shader
29 manager that stores the shaders and replace these functions with something like:
30 void set_shader_program(ShaderProgram *sprog) */
31 virtual bool init_shaders(const char *vfname, const char *ffname) = 0;
32 virtual void destroy_shaders() = 0;
34 virtual void draw() const = 0;