- if(!state->framebuffer)
- throw invalid_operation("Renderer::resolve_multisample");
-
- unsigned width = state->framebuffer->get_width();
- unsigned height = state->framebuffer->get_height();
- if(target.get_width()!=width || target.get_height()!=height)
- throw incompatible_data("Renderer::resolve_multisample");
-
- if(ARB_direct_state_access)
- glBlitNamedFramebuffer(state->framebuffer->get_id(), target.get_id(), 0, 0, width, height, 0, 0, width, height, buffers, GL_NEAREST);
- else
- {
- glBindFramebuffer(GL_READ_FRAMEBUFFER, state->framebuffer->get_id());
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, target.get_id());
-
- target.refresh();