X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fview.cpp;h=cac82d5d309815bb044b9fbc64b2f07b64b0ab5b;hp=ac244335943bc5b2398dd8fc23b5705553bf82ef;hb=HEAD;hpb=ff8a8bfa114a690b7b25d9503bb5ed811d6aeca9 diff --git a/source/render/view.cpp b/source/render/view.cpp index ac244335..cac82d5d 100644 --- a/source/render/view.cpp +++ b/source/render/view.cpp @@ -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,6 +35,7 @@ void View::render() { if(!internal_renderer) internal_renderer = new Renderer; + internal_renderer->begin(); render(*internal_renderer); internal_renderer->end(); } @@ -41,7 +43,7 @@ void View::render() void View::render(Renderer &renderer) { Renderer::Push _push(renderer); - renderer.set_framebuffer(&target); + renderer.set_framebuffer(&get_target()); if(content) { if(camera)