]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/view.cpp
Check the flat qualifier from the correct member
[libs/gl.git] / source / render / view.cpp
index db06bb33fb51f8db7c0fd1a78055ff50ba4d9f42..cac82d5d309815bb044b9fbc64b2f07b64b0ab5b 100644 (file)
@@ -6,18 +6,19 @@
 namespace Msp {
 namespace GL {
 
-View::View(Framebuffer &t):
-       target(t),
-       camera(0),
-       content(0),
-       internal_renderer(0)
-{ }
-
 View::~View()
 {
        delete internal_renderer;
 }
 
+View::View(View &&other):
+       camera(other.camera),
+       content(other.content),
+       internal_renderer(other.internal_renderer)
+{
+       other.internal_renderer = 0;
+}
+
 void View::set_camera(Camera *c)
 {
        camera = c;
@@ -34,17 +35,17 @@ void View::render()
 {
        if(!internal_renderer)
                internal_renderer = new Renderer;
+       internal_renderer->begin();
        render(*internal_renderer);
        internal_renderer->end();
 }
 
 void View::render(Renderer &renderer)
 {
-       Bind bind_fbo(target);
-       target.clear();
+       Renderer::Push _push(renderer);
+       renderer.set_framebuffer(&get_target());
        if(content)
        {
-               Renderer::Push push(renderer);
                if(camera)
                        renderer.set_camera(*camera);
                content->setup_frame(renderer);