X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Frenderer.h;h=8f192430a269e4b118c44334dff9dd81b6f3bb21;hb=c0915f6cc7bf834c5d745f2be0e218715a9dc845;hp=776ad9d72896c47ca088396405ec797030e7f030;hpb=369d75c73bf926a6dbcf4d740c8664bbb401602a;p=demo diff --git a/src/renderer.h b/src/renderer.h index 776ad9d..8f19243 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -1,36 +1,31 @@ #ifndef RENDERER_H_ #define RENDERER_H_ -/* - this might change: - atm we are going to have 1 renderer per scene and 1 shader program - for the scene - */ - - -class Camera; +class OrbitCamera; class Object; class Scene; class ShaderProgram; class Renderer { protected: + int diff_loc; + int spec_loc; + int shin_loc; + int mmviewproj_loc; + int mview_loc; + ShaderProgram *sprog; - virtual void draw_object(Object *object) const = 0; + virtual void draw_object(Object *object) const; public: Scene *scene; - Camera *camera; + OrbitCamera *camera; Renderer(); - Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera); virtual ~Renderer(); - virtual bool load_shader_program(const char *vfname, const char *ffname) = 0; - virtual void use_shader_program() = 0; - - virtual bool create() = 0; - virtual void draw() const = 0; + virtual bool create(); + virtual void draw() const; }; #endif // RENDERER_H_ \ No newline at end of file