class Object;
class Scene;
class ShaderProgram;
+class Texture;
class Renderer {
protected:
+ int diff_loc;
+ int spec_loc;
+ int shin_loc;
+ int mmviewproj_loc;
+ int mview_loc;
+ int mmod_loc;
+ int fog_loc;
+ int dstex_loc;
+ int stex_loc;
+
ShaderProgram *sprog;
+
+ /* debug shader to draw normals */
+ ShaderProgram *nprog;
+
+ Texture *skytex, *dskytex;
+
virtual void draw_object(Object *object) const;
+ virtual void draw_skybox() const;
public:
+ float fog_density;
+
Scene *scene;
OrbitCamera *camera;
virtual bool create();
virtual void draw() const;
+
+ virtual void set_sky_tex(Texture *stex);
+ virtual void set_diffuse_sky_tex(Texture *dstex);
};
#endif // RENDERER_H_
\ No newline at end of file