#ifndef RENDERER_H_
#define RENDERER_H_
-/*
- this might change:
- atm we are going to have 1 renderer per scene and 1 shader program
- for the scene
- */
-
-
-class Camera;
+class OrbitCamera;
class Object;
class Scene;
class ShaderProgram;
class Renderer {
protected:
ShaderProgram *sprog;
- virtual void draw_object(Object *object) const = 0;
+ virtual void draw_object(Object *object) const;
public:
Scene *scene;
- Camera *camera;
+ OrbitCamera *camera;
Renderer();
- Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera);
virtual ~Renderer();
- virtual bool load_shader_program(const char *vfname, const char *ffname) = 0;
- virtual void use_shader_program() = 0;
-
- virtual bool create() = 0;
- virtual void draw() const = 0;
+ virtual bool create();
+ virtual void draw() const;
};
#endif // RENDERER_H_
\ No newline at end of file