quick backup:
[demo] / src / opengl / renderer-gl.cc
index 5b81be3..1773f40 100644 (file)
@@ -24,64 +24,26 @@ RendererGL::RendererGL(ShaderProgram *sprog, Scene *scene, Camera *camera)
 
 RendererGL::~RendererGL()
 {
-       destroy_shaders();
 }
 
-void RendererGL::draw() const
+bool RendererGL::load_shader_program(const char *vfname, const char *ffname)
 {
-       /* use shaders */
-       if(!sprog) {
-               fprintf(stderr, "No active shaders found. Using default.\n");
-               glUseProgram(0);
-       }
-       else {
-               sprog->use();
-       }
-
-       /* draw all scene components */
-       for(size_t i=0; i<scene->objects.size(); ++i) {
-               draw_object(scene->objects[i]);
-       }
+       return true;
 }
 
-
-bool RendererGL::init_shaders(const char *vfname, const char *ffname)
+void RendererGL::use_shader_program()
 {
-       if(sprog)
-               delete sprog;
-
-       sprog = new ShaderProgramGL;
-       if(!sprog->load(vfname, ffname))
-               goto error;
-
-       if(!sprog->link())
-               goto error;
-
-       sprog->use();
-
-       glEnable(GL_DEPTH_TEST);
-       glEnable(GL_CULL_FACE);
-
-       return true;
-
-error:
-       destroy_shaders();
-       return false;
 }
 
-void RendererGL::destroy_shaders()
+bool RendererGL::create()
 {
-       if(sprog) {
-               delete sprog;
-               sprog = 0;
-       }
+       return true;
 }
 
 void RendererGL::draw_object(Object *object) const
 {
-       object->material->dtex->bind();
-
-
+}
 
-       object->mesh->draw();
+void RendererGL::draw() const
+{
 }
\ No newline at end of file