namespace Msp {
namespace GL {
-View::View():
- target(Framebuffer::system()),
+View::View(Framebuffer &t):
+ target(t),
camera(0),
content(0)
{ }
{
camera = c;
if(camera)
- camera->set_aspect(get_aspect());
+ camera->set_aspect_ratio(get_aspect_ratio());
}
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(get_aspect());
+ 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();