controls for fog to select params
[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 class Texture;
9
10 class Renderer {
11 protected:
12         int diff_loc;
13         int spec_loc;
14         int shin_loc;
15         int mmviewproj_loc;
16         int mview_loc;
17         int fog_loc;
18
19         ShaderProgram *sprog;
20
21         /* debug shader to draw normals */
22         ShaderProgram *nprog;
23
24         Texture *skytex, *dskytex;
25
26         virtual void draw_object(Object *object) const;
27         virtual void draw_skybox() const;
28
29 public:
30         float fog_density;
31
32         Scene *scene;
33         OrbitCamera *camera;
34
35         Renderer();
36         virtual ~Renderer();
37
38         virtual bool create();
39         virtual void draw() const;
40
41         virtual void set_sky_tex(Texture *stex);
42         virtual void set_diffuse_sky_tex(Texture *dstex);
43 };
44
45 #endif // RENDERER_H_