]> git.tdb.fi Git - libs/gl.git/blobdiff - source/view.cpp
Support rendering View with an externally provided Renderer
[libs/gl.git] / source / view.cpp
index 7ab41912ef19d1be6251e279725a9fbfa7830bbe..ad6e266c4468ba477e9f8f72ad55423fce8ee8b1 100644 (file)
@@ -24,19 +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();