X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Frenderer.h;h=776ad9d72896c47ca088396405ec797030e7f030;hp=6ea7c02252837bd7fe2a36f1b02f81cfb954d8fa;hb=369d75c73bf926a6dbcf4d740c8664bbb401602a;hpb=0da7a98f74d00bfa6cf0d47fd7cf0f687eeba5f6 diff --git a/src/renderer.h b/src/renderer.h index 6ea7c02..776ad9d 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -6,10 +6,12 @@ atm we are going to have 1 renderer per scene and 1 shader program for the scene */ + + class Camera; +class Object; class Scene; class ShaderProgram; -class Object; class Renderer { protected: @@ -24,13 +26,10 @@ public: Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera); virtual ~Renderer(); - /* for the moment each Renderer creates and destroys the ShaderProgram - because we are using only a couple of shaders, in the future we might need a shader - manager that stores the shaders and replace these functions with something like: - void set_shader_program(ShaderProgram *sprog) */ - virtual bool init_shaders(const char *vfname, const char *ffname) = 0; - virtual void destroy_shaders() = 0; + 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; };