X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Frenderer.h;h=23471f51f91bfcdf6c463bccb3f9eab320f38e2b;hb=73b9db25a6deff93da45f3c45290ca8a56fefed3;hp=b3d24241a3983819f17191c547526a1c0a6d2888;hpb=fcd6773bc770425ede4b47a84eef7cc78342542c;p=demo diff --git a/src/renderer.h b/src/renderer.h index b3d2424..23471f5 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -1,25 +1,48 @@ #ifndef RENDERER_H_ #define RENDERER_H_ -class Camera; +class OrbitCamera; 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; - Camera *camera; + OrbitCamera *camera; Renderer(); virtual ~Renderer(); 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