ec9357e497537df51c8e513cf2fdebd38b720812
[demo] / src / opengl / renderer-gl.h
1 #ifndef RENDERER_GL_H_
2 #define RENDERER_GL_H_
3
4 #include "renderer.h"
5
6 class Scene;
7 class Object;
8 class Camera;
9
10 class RendererGL : public Renderer {
11 protected:
12         virtual void draw_object(Object *object) const override;
13 public:
14         RendererGL();
15         RendererGL(ShaderProgram *sprog, Scene *scene, Camera *camera);
16
17         virtual ~RendererGL();
18
19         bool load_program(ShaderProgram *sprog);
20
21         virtual bool create() override; // load shader prog, scene data etc
22         virtual void draw() const override; // set state from camera, set uniforms
23 };
24
25 #endif // RENDERER_GL_H_