X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fview.cpp;h=ad6e266c4468ba477e9f8f72ad55423fce8ee8b1;hb=3e555c51a85b97090ae8c9b16ee425ee5ffe6ef8;hp=074967cfe1e3b14cafb925e0902e9e9cf11500b0;hpb=7cf5ebbc9d91d09d0664598d3fb88606c3307deb;p=libs%2Fgl.git diff --git a/source/view.cpp b/source/view.cpp index 074967cf..ad6e266c 100644 --- a/source/view.cpp +++ b/source/view.cpp @@ -6,8 +6,8 @@ namespace Msp { namespace GL { -View::View(): - target(Framebuffer::system()), +View::View(Framebuffer &t): + target(t), camera(0), content(0) { } @@ -24,18 +24,20 @@ void View::set_content(Renderable *r) content = r; } -void View::synchronize_camera_aspect(Camera &c) +void View::render() { - synced_cameras.push_back(&c); - c.set_aspect_ratio(get_aspect_ratio()); + Renderer renderer; + render(renderer); } -void View::render() +void View::render(Renderer &renderer) { + Bind bind_fbo(target); target.clear(COLOR_BUFFER_BIT|DEPTH_BUFFER_BIT); if(content) { - Renderer renderer(camera); + Renderer::Push push(renderer); + renderer.set_camera(*camera); content->setup_frame(renderer); content->render(renderer); content->finish_frame();