Add gfx::render_target helper struct
This commit is contained in:
parent
9940dd19a0
commit
0206ebc2cb
1 changed files with 27 additions and 0 deletions
27
libs/gfx/include/psemek/gfx/render_target.hpp
Normal file
27
libs/gfx/include/psemek/gfx/render_target.hpp
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <psemek/gfx/framebuffer.hpp>
|
||||||
|
|
||||||
|
#include <psemek/geom/box.hpp>
|
||||||
|
|
||||||
|
#include <psemek/util/assert.hpp>
|
||||||
|
|
||||||
|
namespace psemek::gfx
|
||||||
|
{
|
||||||
|
|
||||||
|
struct render_target
|
||||||
|
{
|
||||||
|
gfx::framebuffer const * framebuffer;
|
||||||
|
GLenum draw_buffer;
|
||||||
|
geom::box<int, 2> 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());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue