srgb textures, cubemap support
[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         Texture *skytex, *dskytex;
18         ShaderProgram *sprog;
19         virtual void draw_object(Object *object) const;
20
21 public:
22         Scene *scene;
23         OrbitCamera *camera;
24
25         Renderer();
26         virtual ~Renderer();
27
28         virtual bool create();
29         virtual void draw() const;
30
31         virtual void set_sky_tex(Texture *stex);
32         virtual void set_diffuse_sky_tex(Texture *dstex);
33 };
34
35 #endif // RENDERER_H_