#include <msp/gl/lighting.h>
#include <msp/gl/mesh.h>
#include <msp/gl/object.h>
+#include <msp/gl/renderer.h>
#include <msp/gl/resources.h>
+#include <msp/gl/simplescene.h>
#include <msp/gl/technique.h>
#include <msp/gl/tests.h>
#include <msp/input/mouse.h>
resources.add("__.object", object);
}
else if(ext==".object")
+ renderable = load<GL::Object>(renderable_name);
+ else if(ext==".scene")
{
- object = load<GL::Object>(renderable_name);
- renderable = object;
+ GL::SimpleScene *scene = new GL::SimpleScene;
+ DataFile::load(*scene, renderable_name, resources);
+ renderable = scene;
}
else
throw usage_error("Unknown renderable type");
GL::Framebuffer::system().clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT);
- camera.apply();
-
- GL::Bind bind_lighting(lighting);
GL::Bind bind_depth(GL::DepthTest::lequal());
GL::Bind bind_blend(GL::Blend::alpha());
- renderable->render();
+ GL::Renderer renderer(&camera);
+ renderer.set_lighting(&lighting);
+ renderable->render(renderer);
window.swap_buffers();
}