fixed terrain rendering - visualized normals
[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         /* debug shader to draw normals */
20         ShaderProgram *nprog;
21
22         Texture *skytex, *dskytex;
23
24         virtual void draw_object(Object *object) const;
25         virtual void draw_skybox() const;
26
27 public:
28         Scene *scene;
29         OrbitCamera *camera;
30
31         Renderer();
32         virtual ~Renderer();
33
34         virtual bool create();
35         virtual void draw() const;
36
37         virtual void set_sky_tex(Texture *stex);
38         virtual void set_diffuse_sky_tex(Texture *dstex);
39 };
40
41 #endif // RENDERER_H_