backup of where I was last week (nothing added)
authorEleni Maria Stea <estea@igalia.com>
Mon, 17 Jul 2017 07:51:46 +0000 (10:51 +0300)
committerEleni Maria Stea <estea@igalia.com>
Mon, 17 Jul 2017 07:51:46 +0000 (10:51 +0300)
src/opengl/renderer-gl.cc
src/opengl/renderer-gl.h
src/renderer.cc
src/renderer.h

index 1773f40..8ff53ca 100644 (file)
@@ -26,15 +26,6 @@ RendererGL::~RendererGL()
 {
 }
 
-bool RendererGL::load_shader_program(const char *vfname, const char *ffname)
-{
-       return true;
-}
-
-void RendererGL::use_shader_program()
-{
-}
-
 bool RendererGL::create()
 {
        return true;
@@ -46,4 +37,10 @@ void RendererGL::draw_object(Object *object) const
 
 void RendererGL::draw() const
 {
+       //TODO
+       /* set state, uniforms */
+       sprog->use();
+       for(size_t i=0; i<scene->objects.size(); i++) {
+               draw_object(scene->objects[i]);
+       }
 }
\ No newline at end of file
index 88ba727..ec9357e 100644 (file)
@@ -16,8 +16,7 @@ public:
 
        virtual ~RendererGL();
 
-       virtual bool load_shader_program(const char *vfname, const char *ffname) override;
-       virtual void use_shader_program() override;
+       bool load_program(ShaderProgram *sprog);
 
        virtual bool create() override; // load shader prog, scene data etc
        virtual void draw() const override; // set state from camera, set uniforms
index 2c9b4c3..180f003 100644 (file)
@@ -17,4 +17,9 @@ Renderer::Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera)
 
 Renderer::~Renderer()
 {
+}
+
+void Renderer::set_program(ShaderProgram *sprog)
+{
+       this->sprog = sprog;
 }
\ No newline at end of file
index 776ad9d..7c32c50 100644 (file)
@@ -26,9 +26,7 @@ public:
        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 void set_program(ShaderProgram *sprog);
        virtual bool create() = 0;
        virtual void draw() const = 0;
 };