skybox working
[demo] / src / renderer.h
1 #ifndef RENDERER_H_
2 #define RENDERER_H_
3
4 class OrbitCamera;
5 class Object;
6 class Scene;
7 class ShaderProgram;
8
9 class Renderer {
10 protected:
11         int diff_loc;
12         int spec_loc;
13         int shin_loc;
14         int mmviewproj_loc;
15         int mview_loc;
16
17         ShaderProgram *sprog;
18
19         Texture *skytex, *dskytex;
20
21         virtual void draw_object(Object *object) const;
22         virtual void draw_skybox() const;
23
24 public:
25         Scene *scene;
26         OrbitCamera *camera;
27
28         Renderer();
29         virtual ~Renderer();
30
31         virtual bool create();
32         virtual void draw() const;
33
34         virtual void set_sky_tex(Texture *stex);
35         virtual void set_diffuse_sky_tex(Texture *dstex);
36 };
37
38 #endif // RENDERER_H_