diff --git a/libs/gfx/include/psemek/gfx/render_target.hpp b/libs/gfx/include/psemek/gfx/render_target.hpp new file mode 100644 index 00000000..fa63c7fe --- /dev/null +++ b/libs/gfx/include/psemek/gfx/render_target.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include + +#include + +#include + +namespace psemek::gfx +{ + + struct render_target + { + gfx::framebuffer const * framebuffer; + GLenum draw_buffer; + geom::box viewport; + + void bind() const + { + assert(framebuffer); + framebuffer->bind(); + gl::DrawBuffers(1, &draw_buffer); + gl::Viewport(viewport[0].min, viewport[1].min, viewport[0].length(), viewport[1].length()); + } + }; + +}