#include #include #include #include namespace mbgl { OffscreenView::OffscreenView(gl::Context& context_, const Size size_) : size(std::move(size_)), context(context_) { assert(size); } void OffscreenView::bind() { if (!framebuffer) { color = context.createRenderbuffer(size); depthStencil = context.createRenderbuffer(size); framebuffer = context.createFramebuffer(*color, *depthStencil); } else { context.bindFramebuffer = framebuffer->framebuffer; } context.viewport = { 0, 0, size }; } PremultipliedImage OffscreenView::readStillImage() { return context.readFramebuffer(size); } } // namespace mbgl